获取文件或跳转后的真实URL地址
第一种方法
function getrealurl($url){
$header = get_headers($url,1);
if (strpos($header[0],'301') || strpos($header[0],'302')) {
if(is_array($header['Location'])) {
return $header['Location'][count($header['Location'])-1];
}else{
return $header['Location'];
}
}else {
return $url;
}
}
//使用方法
echo getrealurl($url);
第二种方法CURL
function curl_post_302($url,$data=null) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 获取转向后的内容
$data = curl_exec($ch);
$Headers = curl_getinfo($ch);
curl_close($ch);
if($data != $Headers){
return $Headers["url"];
}else{
return false;
}
}
//使用方法
echo curl_post_302($url);