创建可写目录

时间:2012-09-04 16:42:16

标签: php filesystems chmod mkdir

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

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

上传/   - user1   - user2   - user3

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

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

2 个答案:

答案 0 :(得分:1)

这可能有助于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上会忽略mode。默认情况下为0777。第三个参数是递归的,它允许创建路径名中指定的嵌套目录。

答案 1 :(得分:0)

有时用另一种模式创建的目录比指定的(0755而不是0777等)。 解决这个问题:

<?php 
$old = umask(0); 
mkdir($dir,0777); 
umask($old); 
?>