- 締切済み
他のサーバーにあるファイルの存在確認をしたい
データを取得するため、他のサーバーにあるファイルの存在確認をしたいのですが、どのようにすればいいでしょうか? ファイルは普通に公開されているファイルです 他の方の質問の回答にもあった if(head "$data"){ use LWP::Simple; $content = get($data); } #$dataは別行でURLを指定してます という方法を試したのですがわざと存在しないファイル名を指定したところtrueが返り、ifの中に入っていって存在しないファイルを取得しようとしてgetでエラーになってしまいましたし、存在するファイル名を指定してみてもやはりifの中に入ってそのままデータの取得ができました (ファイルが存在するしないにかかわらずif分岐がtrueになりました) 他に if(-e "$data"){ use LWP::Simple; $content = get($data); } #$dataは別行でURLを指定してます とやってみましたがこれは逆に存在するファイル名をしていても全てifの中に入っていかずfalseが返ってきました なお、確認したいファイルはcsvです
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
回答No.1
-e は論外として。 実際にどんな返事が返ってきてるのか、確認したらどうです? ($content_type, $document_length, $modified_time, $expires, $server) = head($data) ; とでもして。 アップローダーとかだと作り方によっては、「エラーということを教える」内容の、HTTP的には「正常なページ」を返す場合もありそうです。
補足
ありがとうございます。 application/octet-stream 11793 1322747402 Apache がそれぞれ返ってきました $expiresはNull値のようです