ホームページ >バックエンド開発 >PHPチュートリアル >CURL を使用して Microsoft Office Professional php にリモート ファイルが存在するかどうかを確認するための実装コード

CURL を使用して Microsoft Office Professional php にリモート ファイルが存在するかどうかを確認するための実装コード

WBOY
WBOYオリジナル
2016-07-29 08:46:561251ブラウズ

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


//リモートファイルを決定します
function check_remote_file_exists($url)
{
$curl =curl_init($url)
//データを取得しません
; curl_setopt($curl, CURLOPT_NOBODY, true);
// リクエストを送信
$result =curl_exec($curl);
$found = false;
// リクエストが送信されない場合、失敗します
if ($result != = false) {
// http レスポンス コードが 200 かどうかを確認します
$statusCode =curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
}
}
curl_close ($curl);
return $found
}

最近、私は iPhone と iPad をより快適に再生するための Web サイトを作成しています。jquery のプラグインです。 . 改造後の効果はかなり良いです。
バックグラウンドでは PHP を使用して Baidu MP3 を定期的に収集します。 サーバーのスペースが狭いことを考慮すると、もちろん MP3 アドレスしか収集できず、ファイルはローカルにダウンロードされません。 Baidu MP3 パスが頻繁に変更されることを考えると、非常に面倒なので、MP3 パスがまだ正しいかどうかを定期的に判断する必要があるため、リモート ファイルが存在するかどうかを判断する PHP に関するソフト記事があります。私は get_headers() メソッドを使い始めましたが、後で効率の問題があると聞いたので、この解決策は使用しませんでした。ところで、get_headers 関数の効果を見てみましょう:

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

//デフォルト効果
print_r(get_headers("http://www.baidu.com/img/baidu_sylogo1.gif"));
結果:
Array
(
[0] => HTTP/1.1 200 OK
[ 1] => 日付: 2011 年 6 月 2 日木 02:47:27 GMT
[2] => サーバー: Apache
[3] => : CP=" OTI DSP COR IVA OUR IND COM "
[ 4] => Set-Cookie: BAIDUID=7F6A5A2ED03878A7791C89C526966F3A:FG=1; 有効期限=金曜日、01-6月-12 02:47:27 GMT; =31536000; パス=/.baidu.com;
[5] => 最終更新日: 2011 年 1 月 20 日木曜日 07:15:35 GMT
[6] => -49a41e65933c0"
[7] => 受け入れ範囲: バイト
[8] => コンテンツの長さ: 1630
[9] => キャッシュ制御: max-age=315360000
[10] =>有効期限: 2021 年 5 月 30 日 (日) 02:47:27 GMT
[11] => 接続: 閉じる
[12] => Content-Type: image/gif
)
//パラメータ 1 を追加した効果
print_r (get_headers("http://www.baidu.com/img /baidu_sylogo1.gif", 1));
結果:
配列
(
[0] => HTTP/1.1 200 OK
[日付] => ; 2011 年 6 月 2 日木 02:49:28 GMT
[サーバー] => Apache
[P3P] => OTI DSP COR IVA OUR IND COM "
[Set-Cookie] => BAIDUID=4D875812FC482C0ADE4F5C17068849EE : FG=1; 有効期限=金曜日、12 年 6 月 2 日:49:28; ドメイン=/.baidu.com;
[最終更新日] => 、2011 年 1 月 20 日 07:15:35 GMT
[ETag] => "65e-49a41e65933c0"
[Content-Length] => 1630
[キャッシュ制御] => ; max-age=315360000
[有効期限] => 2021 年 5 月 30 日 (日) 02:49:28 GMT
[Content-Type] =>


方法get_headers 関数はまだ良いのですが、効率に問題があるため、それを優先するしかありません。curl が良いです。curl がどのように行われるかを見てみましょう


コード

コードは次のとおりです: function check_remote_file_exists($url) {

$curl =curl_init($url)

//データを取得しません
curl_setopt($curl, CURLOPT_NOBODY, true); ($curl, CURLOPT_CUSTOMREQUEST, 'GET'); //これを追加しない場合は 403 が返されます。追加すると正しい 200 が返されます
// リクエストを送信します
$ result =curl_exec($curl);
$found = false;
// リクエストが送信されない場合は失敗します
if ($result !== false)
{
// http レスポンス コードが 200 であることを再度確認します
$statusCode =curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200)
{
$found = true;
curl_close($curl);
$found ; check_remote_file_exists('http://www.baidu.com/img/baidu_sylogo1.gif');
echo $exists : '存在しません'; .com/test.jpg');
echo $exists : '存在しません';
上記は、Microsoft Office Professional の内容を含め、curl を使用してリモート ファイルが存在するかどうかを判断する実装コードを紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。


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