• ベストアンサー

他のサーバーにあるファイルの存在確認

perlで他のサーバーにあるファイルが存在するか確認したり、それに似たようなことをすることは可能でしょうか? どなたかご回答お願いします。

  • Perl
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

ファイルの存在チェックといっても、外部に公開していない(ブラウザで読めない)ファイルのチェックはできません。 単純にURLのリクエストが成功するかどうかという話しならドキュメントヘッダを読み出してみればいいかと思います。 LWPライブラリを使うと少しは楽できると思います。ただしhttp通信の基礎は勉強しておいた方がいいと思います。→#1さんの参考URL === サンプルコード === use LWP::Simple; if(head 'http://example.com/') { die 'ok';#trueなら成功 } else { die 'error'; } exit; LWPのサンプルetc. http://homepage3.nifty.com/hippo2000/perltips/lwpcook.html 実際にhttp通信を行いますので、ブラウザでアクセスするのと同等の時間が掛かります。 レンタルサーバ等では許可されていないかもしれません。 ブラウザでもたまにNGになる事があるように、一度NGになっても何回かリトライした方が確実ですが、その分レスポンスは遅くなります。

vect-61
質問者

お礼

うまく自分がしたいことができました。ありがとうございました。 自分はまだ未熟なので参考にさせていただきます。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

そのファイルがHTTP(ブラウザから)とかFTPでアクセスして確認できるファイルであれば、Socketを使って繋げばよろしいかと思います。   http://x68000.q-e-d.net/~68user/net/

vect-61
質問者

お礼

ご回答していただきありがとうございます。 それを使えば色々なことができそうですね。参考にさせていただきます。

関連するQ&A

  • 他のサーバーにあるファイルの存在確認をしたい

    データを取得するため、他のサーバーにあるファイルの存在確認をしたいのですが、どのようにすればいいでしょうか? ファイルは普通に公開されているファイルです 他の方の質問の回答にもあった 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です

  • ファイルの存在確認をしたい

    複数のドメインを運用しています。 ドメインが違うため、同じレンタルサーバーの会社ですが、サーバーのマシンも別でファイル管理も別々の状態です。 つまり完全に他人同士のドメインという状態ではありますが、他ドメインのファイルが存在するか確認する方法を教えてください 同一ドメイン内であれば、相対パスでstatの[7]とか-fでファイル確認できるようですが、試しに絶対パスを入れてみましたが予想通りというか何も返ってきません。 ファイルサイズであったり、中身の取得は必要ありません。 単にファイルが存在するかどうかだけ確認できればいいのですが、ドメインを分けてしまっているために相対パスが使えません。 書きながら思いましたが、他サイトのファイルの存在確認となると悪用できるかもしれないので、やはりこういったものは存在しないのでしょうか。 とはいっても制限されているURL内のファイル確認ではなく普通にインターネットで閲覧できる状態のものを確認したいだけなのですが

    • ベストアンサー
    • Perl
  • 他のサーバーのファイルを読む

    ある人(私とは別のサーバー)にCGIを配布する予定です。CGIにアクセスすると、私のサーバーに存在するデータファイルを読んで、データが更新されているかチェックする、そんな機能がほしいのですが、一般的にどういう技術を使っているのか全く分かりません。簡単にアドバイスいただけたらと思います。よろしくお願いします。言語はPerlです。

    • ベストアンサー
    • CGI
  • 別のサーバにあるファイルの存在確認

    PHPで、別のサーバーにあるファイルが存在するかしないか確認できる方法、もしくはファンクションなどありますでしょうか? is_file, file_exists を試しましたが、無理でした。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • ファイルの存在確認の方法

    下記のようにファイルが存在するかを確認したいのですが、御教授いただけないでしょうか。 http://www.abc.co.jp/test.jpg test.jpgがあれば画像表示、なければ 「画像がありません」と表示。 ほとんどperlは使っていない初心者です。

    • ベストアンサー
    • Perl
  • ファイルやディレクトリの存在確認を行う方法

    ファイルをオープンするのはfopenでOKですが、ファイルやディレクトリの存在確認を行う方法が知りたいです。 何か組み合わせて作るものなのでしょうか? perlとか便利な演算子があるのですが、C/C++って器用ではないですね。 これは処理系?依存の内容ですか? 私の環境は VC6, VC2005 Windows2000です。

  • php 別サーバーの画像存在確認

    別サーバーの画像存在確認をしたいです。 同じサーバーに有る場合は、下記のようなやり方でできると思いますが、 その場合は相対パスで同サーバーの画像確認でした。 file_exists("ファイル名") phpやcakephpで 別サーバーの画像確認はできますでしょうか?

    • ベストアンサー
    • PHP
  • Perlでファイルの存在確認をするには

    Perlでプログラムを作成しています。 ご教授願いたいのですが、CSVファイルから一つずつファイルパスを抜き出して、 データベース上のファイルの有無を確認するには、どのような組み方を したらよいでしょうか?

    • 締切済み
    • CGI
  • リモートのファイル存在確認

    標題の通り、 リモートファイルのファイルの存在チェックをしようと思っているのですが、 シェルに詳しくないのでご教授願いないでしょうか。 通常の同サーバ内では下記のように出来るかと思いますが、 それをssh で別サーバ内のファイル存在チェックをしたいです。 if [ -e /usr/test/test.txt ]; then echo "存在" fi 宜しくお願い致します。

  • 同サーバー内のファイルの存在確認ができません

    ※説明の為相対パスで書かせていただきます。 ↓本ファイルの設置ディレクトリ /usr/local/apache/htdocs/admin/check.php $img="/home/monky/www/monky.jp/img/1.jpg"; $chk=(file_exists($img))?TRUE:FALSE; ↑とするとエラーがでました。 このPHPとIMGファイルは以下のように、 /usr/local/apache/htdocs/admin/check.php /home/monky/www/monky.jp/img/1.jpg 階層が全然違いますが、同サーバー内です。 fopenやfile_get_contentsなどURLで指定すれば存在確認ができたのですが、動作が遅すぎなので、なんとかfile_existsで行いたいです。 この場合はどうすればうまくいくのでしょうか??

    • ベストアンサー
    • PHP

専門家に質問してみよう