如何使用 PHP 递归地将所有权限设置为在 FTP 服务器上创建的新文件夹


How to set all the permissions recursively to the new folder created on FTP server using PHP?

我使用 PHP 在 FTP 服务器上创建了一个新文件夹。现在我想递归设置所有权限(即相同的权限应应用于驻留它的所有文件和文件夹。

试图研究这件事,然后我开始了解内置的PHP函数ftp_chmod()。我搜索了实现此功能的示例,但到处都是将权限分配给文件而不是文件夹的示例。那么有人可以在这方面帮助我吗?

以下是我尝试的代码:

$ext = pathinfo($_FILES['student_image']['name'], PATHINFO_EXTENSION);     
$student_image_name = 'student_'.$t.'.'.$ext;
$_POST['student_name'] = $student_image_name;
$ftp_server="52.237.5.85"; 
$ftp_user_name="myservercreds"; 
$ftp_user_pass="MyServerCreds";
$file = $_FILES['student_image']['name'];//tobe uploaded 
$remote_file = "/Students/".$_POST['student_name']; 
// set up basic connection 
$conn_id = ftp_connect($ftp_server);  
// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if($login_result) {
  if(!is_dir('ftp://myservercreds:MyServerCreds@52.237.5.85/Students')) {
    ftp_mkdir($conn_id, "/Students");
    ftp_chmod($conn_id, 'all');//Here I'm getting issue in assigning all the permissions recursively to the newly created folder '/Student'
  }

有人可以在这方面帮助我吗?

ftp_chmod需要 3 个参数。第二个是int eger 类型,指定模式。第三个是文件名。因此,正确的代码行是:

//                  mode      file
ftp_chmod($conn_id, 0777, '/Students'); // access for everyone for read/write

希望对您有所帮助。