对于我正在实施文件上传系统的项目。对于每个用户帐户,我希望脚本创建不同的子文件夹。让我们说他们的user_id。
每次添加用户时,系统都会为自己的上传创建一个新的子文件夹。例如:
上传/ - user1 - user2 - user3
执行mkdir('Uploads /'.$ user_id,0777);它将创建一个新的子文件夹。一切都很好。
但是我的应用程序无法写入此文件夹。我如何让php使用所需的文件权限制作目录?我尝试过使用chmod但没有成功。
答案 0 :(得分:1)
$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);
?>