Unixコマンドを実行するには?
[上に]
[前に]
[次に]
miyata
1999/04/30(金) 10:31:15
UnixのFTPコマンドを使いたいのですが
どのように実現すればよいのでしょうか?
外部コマンドはPerlのsystemを使えばできると
こちらのHPで読んだのですが、具体的にどうやればいいのか
ピンときません。わかる方教えてください。
また、もしもっと簡単な方法がPerl以外にもあるならそれでもいいです。
どうかよろしくおねがいします。
B-Cus
1999/04/30(金) 16:27:41
ftpコマンドを使う意図がよくわかりません。
普通ftpコマンドはコマンドラインから使うものです。
# 例えば、telnetでリモートログインして ftpコマンドを実行。
miyataさんが それをご存知ないだけなのか、それとも
「CGI上からftpでファイルを転送したい」
などの目的があって、あえてperl上から使いたいのかが見えてこない
ので、何とも言えません。
後者なら、CPANからFTPクライアント用のモジュールを持ってきて
使うのがいいでしょう。
miyata
1999/05/03(月) 19:10:53
知識がないためうまく説明できなくて申し訳ないですが、
>「CGI上からftpでファイルを転送したい」
それです。
あえてperlで使いたいわけではありません。知らないだけです。
>後者なら、CPANからFTPクライアント用のモジュールを持ってきて
>使うのがいいでしょう。
それは何ですか?
B-Cus
1999/05/04(火) 00:21:48
> それは何ですか?
libnetというネットワーク関連のモジュールがあります。これを
インストールすれば
use Net::FTP;
$ftp = Net::FTP->new("ftp.hoge.com");
$ftp->login("username","password");
$ftp->cwd("dir1");
$ftp->get("file1");
$ftp->quit;
てな具合に簡単にやりとりができます。libnetは管理者に頼んで
インストールしてもらってください。
# libnet は
# http://ring.iwate-pu.ac.jp/cgi-bin/search?key=libnet&site=iwate-pu&lines=100&scheme=http
# などにあります。
あるいは、ファイルに
open ftp.hoge.com
user username password
binary
put file
bye
などと一連の作業内容を書いておいて、
system("ftp -n < ファイル名");
とするのもいいでしょう。
どちらも、パスワードをファイルに書き込むことになるので、
パーミッションのチェックはしっかりと行ってください。
miyata
1999/05/10(月) 11:45:06
[[解決]]
解決しました。
B-Cusさん、どうもありがとうございました。
本当に感謝してます。
ちなみに、
>あるいは、ファイルに
> open ftp.hoge.com
> user username password
> binary
> put file
> bye
>などと一連の作業内容を書いておいて、
こっちのやりかたでやりました。
[上に]
[前に]
[次に]