获取文件或跳转后的真实URL地址
第一种方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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); |