ホームページ  >  記事  >  バックエンド開発  >  phpはリモートファイルが存在するかどうかを確認します

phpはリモートファイルが存在するかどうかを確認します

高洛峰
高洛峰オリジナル
2016-11-28 16:51:461068ブラウズ

file_exists ではリモートファイルが存在するかどうかを確認できないことは知っていましたが、リモートファイルが存在するかどうかを確認する方法がわかりません

今日、PHP 情報研究センターのブログを読んでいると、get_headers という関数を見つけました

原文はこちら:
リモート ファイルが存在するかどうかを確認する方法

get_headers(PHP5) — HTTP リクエストに応じてサーバーから送信されたすべてのヘッダーを取得します

get_headers() はヘッダーを含む配列を返しますHTTP リクエストに応じてサーバーによって送信されます。失敗した場合は FALSE を返し、E_WARNING レベルのエラー メッセージを発行します。

オプションの format パラメーターが 1 に設定されている場合、get_headers() は対応する情報を解析し、配列のキー名を設定します。

次のようなものを返します

Array (
[0] => HTTP/1.1 200 OK
[Date] => Sat, 29 May 2004 12:28:14 GMT
[Server] => Apache/1.3. 27 (Unix) (Red-Hat/Linux)
[Last-Modified] => 2003 年 1 月 8 日水曜日 23:11:55 GMT
[ETag] => "3f80f-1b6-3e1cb03b"
[Accept-Ranges] ] => バイト
[Content-Length] => 438
[Content-Type] => text/html
)

著者は、配列を返すかどうかを決定するために使用します。その通りです

なぜなら、http ファイルのステータスが 200 ではなく、他の値である可能性があるからです

。なぜなら、Web サイトに実際に存在しないものをテストしたため、返されるページのステータスは 404 であるはずだからです。存在しませんが、元の作成者の関数は true を返します

実際には、返されたページのステータスに基づいて判断する必要があります


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