ホームページ  >  記事  >  バックエンド開発  >  PHP はファイルが異なるドメイン名に存在するかどうかをチェックします

PHP はファイルが異なるドメイン名に存在するかどうかをチェックします

WBOY
WBOYオリジナル
2016-06-13 13:14:14697ブラウズ

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!!
}

?

?

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