43
A
回答
108
模式通过修改您目前的umask
,在这种情况下为022
。
umask
的工作方式是减法。你需要给mkdir
初始许可,并减去umask
得到实际权限:
0777
- 0022
======
0755 = rwxr-xr-x.
如果你不希望这样的事情发生,你需要设置你的umask
暂时为零,以便它有没有影响。你可以用下面的代码片段做到这一点:
$oldmask = umask(0);
mkdir("test", 0777);
umask($oldmask);
第一行改变umask
为零,同时存储前面的一成$oldmask
。第二行使目录使用所需的权限和(现在不相关)umask
。第三行将umask
恢复到最初的状态。
2
也许,你umask设置为排除那些
12
文件和目录的创建由umask的设定影响。您可以通过操纵的umask如下创建一组特定权限的文件: -
$old = umask(0);
mkdir("test", 0777);
umask($old);
0
对于那些谁试图
mkdir('path', 777);
,并没有奏效。
这是因为显然,文件模式前面的0非常重要,它告诉chmod将传递的数字解释为八进制数而不是十进制数。
Ps。这不是问题的解决方案,而只是接受的安装程序的附加组件
0
避免在多线程Web服务器中使用此功能。创建文件后,最好使用chmod()更改文件权限。
实施例:
$dir = "test";
$permit = 0777;
mkdir($dir);
chmod($dir, $permit);
相关问题
- 1. 即使拥有777权限,为什么PHP不能创建文件?
- 2. 在PHP中创建目录,避免777权限
- 3. PHP创建的目录没有权限...?
- 4. 为什么我不能使用php创建一个目录?
- 5. PHP脚本/目录有什么权限?
- 6. 如何用777权限创建文件?
- 7. 创建一个WebPart,显示对列表拥有权限的人
- 8. 为什么我不能用php mkdir()创建目录?
- 9. PHP/Apache文件写权限不带777
- 10. 如何创建具有777权限的txtfile
- 11. 为什么我无法访问具有755权限的目录
- 12. 为什么我需要一个没有'创建会话'权限的Oracle用户?
- 13. PHP无法写入文件 - 777权限!
- 14. python创建tmp目录权限
- 15. 应该apache上传目录有777个权限还是属于www-data用户?
- 16. 为什么pod lib创建不能为cocoapod正确创建目录?
- 17. 将目录的权限设置为拥有全部访问权限的每个人
- 18. 如何配置PHP有权创建目录和创建文件?
- 19. 即使文件夹权限为777
- 20. 即使权限是777
- 21. 创建的目录有错误的权限(被锁定)
- 22. 通过PHP和权限问题创建目录和文件
- 23. 为什么FHS有一个usr目录
- 24. 为什么不创建一个空白的解决方案而不创建一个目录?
- 25. Subversion创建具有过于严格权限的修订目录
- 26. 为用户创建权限只能看到一个视图
- 27. 设置权限(777)所有文件,python目录中的子目录没有任何循环
- 28. uri拥有权限组件
- 29. 暂时使用PHP将文件夹权限更改为777
- 30. 与权限发送邮件与Apache + PHP的权限错误,而没有更改权限777