2011-11-14 15 views
1

リモートファイルが存在するかどうかを判断する必要があります。PHP - リモートファイルの存在を確認する

私はカールを使用しましたが、それは非常に遅いので、ファイル全体を適切に読み込みます。

リモートファイルに「タッチ」する方法はありますか(たとえば、そのファイルの1バイトだけを読み取るか、404が発生したときにfalseを返すなど)?

また、テストされたドメインが存在しないか、単に接続がタイムアウトすると問題が発生する可能性があります。したがって、タイムアウト間隔は通常の値よりも低く設定する必要があります。

+1

これは以前に尋ねられ、回答済みです:http://stackoverflow.com/questions/981954/how-can-one-check-to-a-remote-file-exists-phpを使用して – Mob

答えて

1

あなただけのファイルのexistanceを確認したい場合は、あなたがにカールを使用することができますGETの代わりにHEADリクエストを作成します。このようにしてWebサーバーは、ファイル全体ではなく、ヘッダー情報(200/404/...ステータスコードを含む)のみで応答します。

+0

そしてステータスが200ならOKです、300sコードの場合は、自分自身を新しいものにする(たとえば、google.comは移動します).... ありがとう!あなたは私の時間を救った;-)すべてありがとう –

4

あなたはファイル全体をこの方法で唯一のHTTPヘッダが返されます、HEADリクエストを送信する必要があり、ない

curl_setopt(CURLOPT_NOBODY, true); 
関連する問題