ホームページ >バックエンド開発 >PHPチュートリアル >php get_headers を使用して URL が有効かどうかを判断する解決策_PHP チュートリアル
PHP でファイルまたはディレクトリが存在するかどうかを判断するには、通常、is_file と file_exists という 2 つの関数を思い浮かべます。ただし、これら 2 つの関数には、リモート URL ファイルが存在するかどうかを判断する際に依然として問題があります。ここで著者は、php get_headers 関数を使用してリモート URL ファイルが有効か存在するかを判断する方法を共有します。
php get_headers関数の機能と使い方については、このサイトの記事を参照してください:
php の get_headers 関数の役割と使用法の詳細な紹介
php get_headers を使用して URL の真の有効性を判断する方法について話しましょう。
この関数の導入により、この関数は HTTP リクエストのヘッダー情報を返すだけであることがわかります。情報の形式は基本的に次のとおりです。
(1)配列
(
[0] => HTTP/1.1 200 OK
[1] => 日付: Sat, 29 May 2004 12:28:13 GMT
[2] => サーバー: Apache/1.3.27 (Unix) (Red-Hat/Linux)
[3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[ 5] => 受け入れ範囲: バイト
[6] => コンテンツの長さ: 438
[7] => 接続: text/html
)
(2)
配列
( [0] => HTTP/1.0 404 Not Found
[1] => 日付: Sat, 29 May 2004 12:28:13 GMT
[2] => サーバー: Apache/1.3. 27 (Unix) (Red-Hat/Linux)
[3] => 最終更新日: Wed, 08 Jan 2003 23:11:55 GMT
[4] => ETag: "3f80f-1b6-3e1cb03b"
[5] => 受け入れ範囲: バイト
[6] => コンテンツの長さ: 438
[7] => 接続: text/html
)
上記の 2 つの状況から、URL が有効かどうかを判断する場合は、配列の最初の要素の値によって判断する必要があることが簡単にわかります。サーバーは 200 を返します。これはファイルが正しく返されたことを意味し、サーバーは 404 を返します。これはファイルが存在しないことを意味します。したがって、ここから URL が存在するかどうかを簡単に判断できます。
(詳細な出典: PHP Programmer’s Notes)