ホームページ  >  記事  >  php教程  >  PHP でリモート URL が有効かどうかを判断するいくつかの方法の概要

PHP でリモート URL が有効かどうかを判断するいくつかの方法の概要

WBOY
WBOYオリジナル
2016-06-13 12:05:09935ブラウズ

解決策:
PHP を使用して解決
file_get_contents 関数を使用しますが、一長一短は、URL にアクセスできない場合にプログラムが終了する問題が発生することです
curl を使用して戻り、その後正しく実行されたかどうかを確認します
HTTP に従って get_headers 関数を使用します 値を返して 200 があるかどうかを確認します
js を使用して解決します:
ネイティブの js 関数 ActiveXObject を使用します。IE コアを備えたブラウザのみをサポートします
JQ 拡張機能を使用する
この記事では主に 3 番目の PHP ソリューションを紹介します。この方法はめったに使用されませんが、これもまた良い感じです。

get_headers のサポートが必要です。

php_openssl のサポートを確認してください。
allow_url_fopen=on を変更して、リモート オープニングを使用する

関数の概要:
array get_headers ( string $url [, int $format ] )

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

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

簡単な例:

コードをコピー コードは次のとおりです:


$ url = "/upload/20111008192257383.gif";
$array = get_headers($url,1);
if(preg_match('/200/',$array[0])){
echo "

"; 
print_r($array);
echo "無効な URL リソースです!"; 🎜> 説明: リモートイメージ ur が有効かどうかを判定します。戻り値 HTTP に 200 の情報があるかどうかにより、有効な URL リソースであるかどうかを判定します。

テスト結果:



正しいリターンを確認できます----------------------テストは問題ありません

長所と短所:

が必要ですallowed_url_fopen=on をオンにすると、 file_get_contents 関数の使用条件と似ていますが、戻り値は比較的小さいですが、

function_exists を使用してメソッドが使用できるかどうかを判断できます


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