ホームページ  >  記事  >  バックエンド開発  >  PHP がリモート ファイルが存在するかどうかを検出する_PHP チュートリアル

PHP がリモート ファイルが存在するかどうかを検出する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:46:57997ブラウズ

上記のコードを簡単に説明します。 get_headers の機能は、リモート アドレスにアクセスし、サーバーから送信された HTTP ヘッダーを配列の形式で返すことです。 $header[0] はサーバーから返されるステータス コードです (他に何も起こらなければ、ステータス コードが最初に返されるはずです)。

ファイルがリモート サーバー上に存在するかどうかを判断するには、ファイルにアクセスして返されたステータス コードが「HTTP/1.1 200 OK」であることを確認するだけです (もちろん、ステータス コードが「HTTP/1.1 404 Not」でないかどうかを判断することもできます) 「見つかりました」) ファイルは存在しますが、常に安全ではないと感じます。結局のところ、301、400 などの他のステータス コードもあります)。

3 桁の HTTP 応答コードを取得する例:

関数 get_http_response_code($theURL) {

$headers = get_headers($theURL);

substr($headers[0], 9, 3) を返します。

}

?>

リダイレクトを除外する例:

/**

* リダイレクトなしで、HTTP リクエストに応じてサーバーから送信されたすべての実際のヘッダーを取得します

* リダイレクトせずにヘッダーを取得します

​*/

function get_real_headers($url,$format=0,$follow_redirect=0) {

if (!$follow_redirect) {

// 新しいデフォルトオプションを設定します

$opts = array('http' =>

array('max_redirects'=>1,'ignore_errors'=>1)

);

Stream_context_get_default($opts);

}

//ヘッダーを取得します

$headers=get_headers($url,$format);

// デフォルトのオプションを復元します

if (isset($opts)) {

$opts = array('http' =>

array('max_redirects'=>20,'ignore_errors'=>0)

);

Stream_context_get_default($opts);

}

//戻る

$headers を返します;

}

?>

この記事への固定リンク: http://www.xssxss.com/fuck/323.xss | Shine's Holy Paradise-〃ミン〃

http://www.bkjia.com/PHPjc/478544.html

tru​​ehttp://www.bkjia.com/PHPjc/478544.html技術記事上記のコードを簡単に説明します。 get_headers の機能は、リモート アドレスにアクセスし、サーバーから送信された HTTP ヘッダーを配列の形式で返すことです。 $header[0] はサーバーから返されたステータスです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。