Perlでは、ファイルをftpしようとしましたが、リモートサーバのファイルはゼロサイズです。Perl FTPゼロサイズファイル
$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file);
ローカルファイルは空ではありませんが、なぜftp-edファイルが空であるのでしょうか?
Perlでは、ファイルをftpしようとしましたが、リモートサーバのファイルはゼロサイズです。Perl FTPゼロサイズファイル
$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file);
ローカルファイルは空ではありませんが、なぜftp-edファイルが空であるのでしょうか?
ドキュメントをチェックしましたか? http://search.cpan.org/dist/libnet/Net/FTP.pm 具体的には、匿名で接続している場合でもログインする必要があり、すべてのコードの戻りコードを確認する必要があります。ここで
はCPANページから概要です:
use Net::FTP;
$ftp = Net::FTP->new("some.host.name", Debug => 0)
or die "Cannot connect to some.host.name: [email protected]";
$ftp->login("anonymous",'[email protected]')
or die "Cannot login ", $ftp->message;
$ftp->cwd("/pub")
or die "Cannot change working directory ", $ftp->message;
$ftp->get("that.file")
or die "get failed ", $ftp->message;
$ftp->quit;
あなたが経験している何の問題を調べるには、次のように、コードを変更してください:
$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file) or die $ftp->message;
ほとんどの場合、この変更はにあなたに十分な情報が得られます問題を解く。
私はその理由を見つけた。私はftpの前にファイルハンドラを閉じなかった。少なくともゼロサイズの代わりに私に何かエラーを与えるべきである – user595234
@ user595234 - 素晴らしい。あなたが私を助けてくれたと思えば、あなたからアップヴォートと受け入れを受けるのはいいでしょう。ありがとう。 –
ログインに問題はありません。ファイルはftp-edされたサーバーには、唯一の問題は、サイズが0です – user595234
@ user595234、残りのアドバイス(あなたが持っているエラーを確認)が適用されます。ありがとう。 – ikegami