我正在尝试使用 PHP 创建一个文件夹,然后在其中创建另一个文件夹。
如果这是我的目录结构
/home/site (owner : user1)
现在,我使用创建文件夹
mkdir("/home/site/newdir",0777); (user : apache)
目录/home/site/newdir已创建,但该目录的用户是“apache"
现在,正在做
mkdir("/home/site/newdir/anotherdir",0777);
不在 newdir 中创建另一个目录。
请帮忙。我觉得是楼主的问题我也无法使用 chmod() 更改所有者。所有者保持不变。
可能是什么原因造成的?
EDIT :
<?php
error_reporting(E_ALL);
mkdir("./m",0777); // works
mkdir("./m/v",0777); // doesnt work
并且页面上没有错误。
var_dump(is_writeable("./m")) // returns bool(true)
EDIT :这已得到修复。对于其他可能面临同样问题的人来说,这是因为 PHP 的安全模式处于“打开”状态。仍然不知道安全模式到底做了什么不允许您创建嵌套目录的原因。
但现在可以了。感谢大家的阅读。
创建的目录的模式mkdir()
受你当前的umask影响,这就是为什么chmod()
不适合你。
Try:
$old_mask = umask(0);
mkdir("/home/site/newdir/anotherdir",0777);
umask($old_mask);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)