• ベストアンサー

perlでFTP

ローカルPCからPerlで記述されたプログラムを実行し、 FTPサーバーへファイルをアップロードするPerlプログラムを教えてください。 DOS上では、 ftp open ftpサーバー名 ユーザー名 パスワード put 送信するファイル bye となるのですが、それをPerlで記述すると、どのようになるのでしょうか?

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

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

  • ベストアンサー
  • ginboss
  • ベストアンサー率100% (2/2)
回答No.2

下記URIの内容は、初心者向けとしてわかりやすいんじゃないかと思います。

参考URL:
http://www.asahi-net.or.jp/~ub2s-mrym/perl/index.html.ja.sjis
kotono3214
質問者

お礼

ご回答ありがとうございました。 おかげ様で問題解決することができました。

その他の回答 (1)

  • shirabero
  • ベストアンサー率21% (7/32)
回答No.1

yahooなどでperl/ftp で検索したらいくらでもみつかります。 少しは自分で調べたら? Perlでファイル転送(FTP) http://ash.or.jp/perl/socket_ftp.htm

kotono3214
質問者

補足

紹介頂いたHPは読んだのですが、 うまく設定できませんでした。 理想的には外部入力で接続するのではなく、 予めFTPの設定(Host・ID・パス)をパラメータとして与え、 自動でファイルをアップデートできるような プログラムのサンプルが欲しいのです。 perlの知識はあまりなく、またこれ以降もperlに触れる 機会はないので、簡単にご指導頂ければ幸いです。

関連するQ&A

  • FTPのバッチファイル

    ローカルPCからサーバーのPCへ毎日決まったファイルをFTPで伝送したいと思っています。今はFFFTPで、毎日手動でファイルをアップロードしていますが、DOS窓からFTP接続するコマンドをバッチファイルにすることってできないのでしょうか? できれば、そのバッチファイルをタスクスケジューラーに登録して日々自動でアップロードしたいと考えています。 ftp open 接続先 ユーザーID パスワード put ファイル名 といった内容をバッチファイルにしたいのですが、やり方をご存知の方がいらっしゃいましたら、教えていただけないでしょうか?

  • ftp_putとftp_fput

    いつもお世話になっています。 GDを用いて作った画像をPHP内でそのままFTPで投げようと思っているのですが、php.netを見ていると、 ファイルをオープンしてアップロードするftp_fput、 ローカルファイルをそのままアップロードするftp_put どちらを使ってもよいのでしょうか。 気になるのは両者の使い分けですが、オープンして投げることによりどのようなメリットが発生するのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ftpの同時アップロード

    ICSのsocket関数群にて、Ftpのputをプログラミングしているのですが、同一ローカルファイルを複数の宛先へ同時送信する時 以下のエラーがでます。 ”426:426 Unable to open local file ローカルファイル名” 普通、リードするだけならファイルは何回でも開けると思いますが ftpは一方が送信中ならロックがかかるのでしょうか? そのあたりftpのプロパティの設定などあるのでしょうか? 何か問題などあればご教授頂けると幸いです。

  • バッチファイルからiniファイルを読み込みftpを行いたい

     バッチファイルからftpを行い他のサーバにput(mput?)を行いたいのですが、idとパスワードを*.ini(名前は決めていません)から 取ってきたいのです。  どうすればいいのでしょうか?他のファイルを呼ぶにはcall分を使うと記述してあったのですが、*iniファイルでも大丈夫なのでしょうか?  dosコマンドとかWindws環境に弱いので教えてください。お願いします。

  • FTPのPUT、GETについて

    FTPのPUT、GETについてお教え下さい。現在サーバーの設定は完了し、DOS画面よりFTPでPUTを行っているのですが、送信先となるサーバーにファイルサイズがゼロのファイルが作成され、途中で止まった状態になってしまいます。GETも同様でサーバーからクライアントにファイルを取得はしているのですが、ファイルサイズがゼロのファイルが作成され止まった状態になってしまいます。また、他のサーバーでPUT、GETを行うとPUT、GET共にファイルの取得も送信も出来ます(クライアントは同じPCを使っています)。やはりサーバーの設定が足りないのでしょうか? どなたか対策方法をご存知の方がいましたらお教え下さい。よろしくお願い致します。

  • phpのftp_putについて

    はじめましてphp初心者です。 以下の内容を実行した際に うまく行かず困っています。 $ftp_server="【サーバー名】"; $ftp_user_name="【アカウント名】"; $ftp_user_pass="【パスワード】"; //サーバーに接続する $conn_id = ftp_connect($ftp_server); // ユーザ名とパスワードでログインする $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // 接続できたか確認する if ((!$conn_id) || (!$login_result)) { echo "FTP接続に失敗しました。"; exit; } else { echo "FTP接続に成功しました。"; } $local_file="【ローカルのファイルパス】"; $remote_file="【FTPサーバー上のアップロードファイルパス】"; if (!ftp_put($conn_id, $remote_file, $local_file, FTP_ASCII)) { echo "FTPアップロードに失敗しました。"; exit; } else { echo "FTPアップロードに成功しました。"; } ftp_close($conn_id); ローカル、リモート共にファイルの位置は間違っていません。 また以上のように反映させた際に返ってくる答えは 「FTP接続に成功しました。」 「FTPアップロードに成功しました。」 と出てきます。 しかし、ffftpを確認したところ サバー側に変化がありません。 手動ではffftpでアップ可能です。 ご教授お願い致します。

    • 締切済み
    • PHP
  • FTPコマンドの記述方法

    FTPサーバーからCSVファイルをダウンロードしようとftpcmd.txtファイルに下記を記述しました。コマンドプロンプトではファイルの取得に成功しています。 open server_name password get remote_file local_file close bye 問題は、この取得したファイルを差し替えるローカルPC側のリダイレクトの場所である[ログファイル名]の.batファイルの記述の仕方がわかりません。 ftp -s:ftpcmd.txt > [ログファイル名]←ログファイル名の記述方法 例えば、”C:¥”に置きたい場合はどのように記述すればよろしいのでしょうか? よろしくお願いします。 ちなみに下記のHPを参考にして作成しました。 http://www.psytec.co.jp/tips/0102/

  • NET::FTPモジュールでのFTP接続のセキュリティに関して。

    ローカルサーバ仕様:WIN98SE,Apache,Active Perl ローカルサーバ内にNET::FTPモジュールを使用し、 レンタルサーバに置いてあるデータを書きかえるようなCGIを作成したのですが、 1.ローカルサーバのプログラム内でFTPアカウント、パスワードが 丸裸で書かれている状態になっています。 2.レンタルサーバへFTP接続する通信の際にも、パスワードは丸裸で転送される ことになるのですよね?。 上記2点はセキュリティ上問題があると思うので、 解決法、アドバイスなど有ればお教えください。

    • ベストアンサー
    • Perl
  • コマンドプロンプトを使ったFTPの自動化(応用)

    バッチファイルを作成して、FTPでファイルをサーバーにアップする事は旨く行きました。 以下のサイトを参考にしました。 http://www.ponko2.com/ftp_bat.html ただ、応用しようと思って行き詰っております。 複数のサーバー(100個以上ある)にファイルをアップロードしたいのですた、 同じファイルを複数作るのではなく、もっと効率のよい方法が無いかと思って質問させていただきます。 私の理想としては、サーバー情報を書いたテキストファイル(1行1サーバー情報)を用意して、 そこから1行ずつ読み込んで実行していくというプログラムは書けないのでしょうか? テキストファイルには、1行ずつ以下の情報を入れます。 「FTP先サーバー,ID,パスワード,アップロードする場所,ファイルの場所」 これを1行ずつ読み込んで、実行していくという事って可能でしょうか? 以下のデータの★の部分をテキストから読み込んで、テキストの行が終わるまで実行し続けてほしいです。 open ★(FTP先サーバー) ★(ログインユーザー名) ★(パスワード) asc prompt cd ★(アップロードする場所)\aaa lcd ★(ファイルの場所)\aaa mput * cd ★(アップロードする場所)\bbb lcd ★(ファイルの場所)\bbb mput * 。。。複数のフォルダがあるのでその中のファイルをすべてアップロードしていく bye わかる方居ましたら教えていただけると助かります。

  • FTPサーバー(moreftpd)のFTP設定

    FTPサーバー(moreftpd)のFTP設定に使用するホスト名はどうやって設定すればいいのでしょうか? moreftpdを使い、FTPサーバーを構築しました ローカルでの接続には成功したので設定は問題ないと思います 別のPCからFTPサーバーにファイルをアップロードするのに ホスト名(アドレス)が分かりません、moreftpdのどこで設定をして、 ホスト名(アドレス)を作成するのでしょうか?