4

对于一个项目,我正在实施一个文件上传系统。对于每个用户帐户,我希望脚本创建一个不同的子文件夹。让我们说他们的user_id。

每次添加用户时,系统都会为他们自己的上传创建一个新的子文件夹。例如:

上传/ - user1 - user2 - user3

通过执行 mkdir('Uploads/'.$user_id, 0777); 它将创建一个新的子文件夹。一切都很好。

但是我的应用程序无法写入此文件夹。如何让 php make 目录具有所需的文件权限?我尝试使用 chmod 没有成功。

4

2 回答 2

2

这可能有助于chmodmkdir

$dirMode = 0777;
mkdir($directory, $dirMode, true);

// chmod the directory since it doesn't seem to work on recursive paths
chmod($directory, $dirMode);

对于 mkdir,模式在 Windows 上被忽略。默认情况下为 0777。第三个参数是递归的,它允许创建路径名中指定的嵌套目录。

于 2012-09-04T16:58:18.400 回答
0

有时创建的目录不是指定的模式(0755 而不是 0777 等)。解决这个用途:

<?php 
$old = umask(0); 
mkdir($dir,0777); 
umask($old); 
?>
于 2012-09-04T16:53:57.857 回答