ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで 301 ジャンプ URL を取得する簡単な例
$request = "HEAD " . $url_parts['パス'] 。 (isset($url_parts['query']) ? '?'.$url_parts['query'] : '') 。 「HTTP/1.1rn」;
$request .= 'ホスト: ' . $url_parts['ホスト'] 。 "rn";
$request .= "接続: Closernrn";
fwrite($sock, $request);
$response = '';
while(!feof($sock)) $response .= fread($sock, 8192);
fclose($sock);
if (preg_match) ('/^Location: (.+?)$/m', $response, $matches)){
if ( substr($matches[1], 0, 1) == "/" )
return $url_parts[ 'スキーム'] 。 「://」。 $url_parts['ホスト'] 。 rim($matches[1]);
else
returnrim($matches[1]);
} else {
return false;
}
}
/**
* get_all_redirects()
* 指定された URL のすべてのリダイレクトを順番に追跡し、収集します。
*
* @param string $url
* @return array
*/
function get_all_redirects($ url){
$redirects = array();
while ($newurl = get_redirect_url($url)){
if (in_array($newurl, $redirects)){
Break;
}
$redirects[] = $新しいURL ;
$url = $newurl;
}
return $redirects;
}