PHP中的ftp_connection,我可以递归地做事吗?

时间:2014-09-03 13:46:30

标签: php recursion ftp

我有这样的代码

$ftp_server = $_POST['server'];
$ftplogin = $_POST['login'];
$ftppass = $_POST['pass'];
$conn_id = ftp_connect($ftp_server);
$login = ftp_login($conn_id, $ftplogin, $ftppass);
ftp_chmod($conn_id, 0777, $dir);

我想知道我是否可以递归地将$ dir的文件权限更改为777而不仅仅是那个目录?

2 个答案:

答案 0 :(得分:1)

我认为你需要手动完成。所以AFAIK命令FTP" CHMOD"不支持递归。

获取所有文件的列表,例如通过函数ftp_rawlist。过滤响应,然后必须在结果上使用ftp_chmod。

但是,有些服务器可以支持CHMOD -R这个命令可以通过ftp_site函数发送

答案 1 :(得分:0)

也许你可以尝试使用ftp_site而不是ftp_chmod进行Recursivly:

ftp_site($conn_id, 'CHMOD -R 0777 ' .$dir);
就像你的shell上的exec()一样,这将在ftp上执行。至少我希望如此。