file_exists ではリモートファイルが存在するかどうかを確認できないことは知っていましたが、リモートファイルが存在するかどうかを確認する方法がわかりません
今日、PHP 情報研究センターのブログを読んでいると、get_headers という関数を見つけました
。原文はこちら:
リモート ファイルを確認する方法 存在するかどうか
http://www.xqs.cn/index.php?load=read&id=95
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] => Wed, 08 Jan 2003 23:11:55 GMT
[ETag] => "3f80f-1b6-3e1cb03b"
[Accept-Ranges] => バイト
[ Content-Length ] => 438
[Connection] => close
[Content-Type] => text/html
)
配列を返すかどうかを原作者が判断するのは適切ではないと思います
http ファイルのステータスが 200 ではない可能性があるため、それは別のことです
実際に私の Web サイトに存在しないものをテストしたため、返されるページのステータスは 404 であるはずですが、元の作成者の関数は依然として true を返します
。 、返されたページのステータスに基づいて判断する必要があります