我有这样的代码
$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而不仅仅是那个目录?
答案 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上执行。至少我希望如此。