ホームページ  >  記事  >  バックエンド開発  >  指定された URL が 404 ページであるかどうかを検出する PHP メソッド

指定された URL が 404 ページであるかどうかを検出する PHP メソッド

王林
王林オリジナル
2019-11-08 10:15:253337ブラウズ

指定された URL が 404 ページであるかどうかを検出する PHP メソッド

要件の説明:

指定された URL が 404 ページであるかどうかを検出します。

方法 1:

file_get_contents 関数を使用して、Web ページまたは Web 上のファイルを読み取ります。 404 ページに遭遇した場合は false が返され、それ以外の場合は対応する Web ページのコンテンツが返されます。

この機能を使用する際の注意点は 2 つあります:

1. file_get_contents存在しないページを読み込むと警告が表示されます。したがって、ここでの警告をブロックするのが最善です。

2, file_get_contentsデフォルトでは、ページのすべてのコンテンツが読み取られて返されます。読み取り速度を向上させるために、戻るまでの読み取りを 10 バイトのみに制限できます。

指定された URL が 404 ページであるかどうかを検出する PHP メソッド

<?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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。