如何对使用PHP在FTP服务器上创建的新文件夹递归设置所有权限?
我使用PHP在FTP服务器上创建了一个新文件夹。现在我想递归地设置所有权限(即,相同的权限应应用于驻留在其中的所有文件和文件夹) 我试图研究这件事,然后我了解了内置的PHP函数如何对使用PHP在FTP服务器上创建的新文件夹递归设置所有权限?,php,recursion,ftp,file-permissions,folder-permissions,Php,Recursion,Ftp,File Permissions,Folder Permissions,我使用PHP在FTP服务器上创建了一个新文件夹。现在我想递归地设置所有权限(即,相同的权限应应用于驻留在其中的所有文件和文件夹) 我试图研究这件事,然后我了解了内置的PHP函数ftp\u chmod()。我搜索了实现此功能的示例,但无论在哪里,我都能找到为文件而不是文件夹分配权限的示例。有人能在这方面帮助我吗 以下是我尝试的代码: $ext = pathinfo($_FILES['student_image']['name'], PATHINFO_EXTENSION); $studen
ftp\u 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'
}
有人能在这方面帮助我吗?需要3个参数。第二个是int
eger类型,指定模式。第三个是文件名。因此,正确的代码线应该是:
// mode file
ftp_chmod($conn_id, 0777, '/Students'); // access for everyone for read/write
希望有帮助。谢谢你的帮助。但我还有一个疑问。在这里,我没有为文件分配权限。我想将所有权限(即读、写、删除)递归分配给名为“学生”的文件夹。那么它会工作吗?所有的权限都会被递归地应用吗?好吧,FTP根本不支持递归操作。因此,要递归地分配权限,您需要遍历那里的文件并逐个分配权限。很抱歉,FTP协议就是这样工作的。