完全权限的FTP上传(CHMOD 777)

时间:2014-06-25 03:10:20

标签: perl ftp

我想通过PERL FTP功能在远程服务器上创建目录和上传文件。一切正常,但我无法使用CHMOD 777上传它们。是否可以通过命令更改它,或者它将由用户访问级别决定?

#!/usr/bin/perl -w
use Net::FTP;
my $ftp=Net::FTP->new($server);
$ftp->login($user, $password);
$ftp->binary();
$ftp->mkdir($outputdir);
$chmod     = "chmod 777 $outputdir";
$ftp->cmd($chmod);
$ftp->cwd($outputdir);
$ftp->put($file);
my $chmod     = "chmod 777 $file";
$ftp->cmd($chmod);
$ftp->quit;

1 个答案:

答案 0 :(得分:1)

获取服务器对chmod命令的响应会很有帮助,例如:使用$ftp->code$ftp->message或只是启用调试。在这里您可能会看到服务器不理解您的命令。

原因可能是您使用$ftp->cmd来执行此命令。但是,cmd用于发送FTP命令,而chmod不是FTP命令。要在服务器的网站上执行任何命令,您应该使用site,例如$ftp->site("chmod ....")。即使在这里,您也应该检查结果,因为服务器不需要遵守您的请求并执行您想要的任何命令。

总结:始终检查错误消息。除此之外:请{per}脚本use strict