要件の説明:
指定された URL が 404 ページであるかどうかを検出します。
方法 1:
file_get_contents
関数を使用して、Web ページまたは Web 上のファイルを読み取ります。 404 ページに遭遇した場合は false が返され、それ以外の場合は対応する Web ページのコンテンツが返されます。
この機能を使用する際の注意点は 2 つあります:
1. file_get_contents
存在しないページを読み込むと警告が表示されます。したがって、ここでの警告をブロックするのが最善です。
2, file_get_contents
デフォルトでは、ページのすべてのコンテンツが読み取られて返されます。読み取り速度を向上させるために、戻るまでの読み取りを 10 バイトのみに制限できます。
<?php $res = @file_get_contents("http://www.baidu.com",null,null,0,10); if($res){ echo $res; }else{ echo "404"; }
方法 2:
ページが 404 ページかどうかを判断する必要があります。これはステータスによって判断できます。 Web ページによって返されたコード。
このメソッドを使用すると、ページ 404 が発生しても警告は報告されません。ステータス コードのみが必要なため、Web ページのコンテンツを読み取る必要はありません。CURLOPT_NOBODY
パラメータを設定し、Web ページのコンテンツを読み取らないようにすると、プログラムの実行時間を短縮できます。 。
<?php $ch = curl_init("http://www.baidu.com"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); $res = curl_exec($ch); $code = curl_getinfo($ch,CURLINFO_HTTP_CODE); if($code == 404){ echo "404"; }else{ echo $code; }
推奨チュートリアル: PHP ビデオ チュートリアル
以上が指定された URL が 404 ページであるかどうかを検出する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。