PHP 查文が異なるドメイン名に存在するかどうか
今日の初めに、ファイルが別のドメインに存在するかどうかを確認する必要がありました。最初は file_exists を使用しました 関数を使用しましたが、エラーがスローバックされたときに思い出しました file_exists は、同じディレクトリにファイルまたはディレクトリが存在するかどうかのみをチェックします。 サーバーをスクリプトとして使用します。
さまざまな関数を試した結果、実際に機能するコードを数行思いつきました。
<? $image = "http://www.example.co.uk/images/1.jpg"; $handle = @fopen("$image", "r"); if(strpos($handle, "Resource id") !== false) { echo "file does exist"; } else { echo "file does not exist"; } ?>
OK、ファイル (1.jpg) が存在する場合、fopen 関数は 「リソース ID」応答。そこで、応答をチェックして「応答ID」があるかどうかを確認します。 strpos 関数で存在します。本当にこれと同じくらい簡単です。
私の方法が最善かどうか、あるいは最も優れているかどうかは完全にはわかりません 効率的ですが、かなりうまく機能するようですが、何も思いつきません 他の方法。他の/より良い方法を知っている人はいますか?
Paul が残したコメントのおかげで、より良い解決策を知ることができました。
?
$url = "http://www.example.com/index.php"; $header_response = get_headers($url, 1); if ( strpos( $header_response[0], "404" ) !== false ) { // FILE DOES NOT EXIST } else { // FILE EXISTS!! }
?
?