PHP脚本正在创建一个文件夹,但无法在其中创建文件夹

时间:2014-09-17 20:20:50

标签: php permissions directory php-safe-mode

我已经搜索了堆栈溢出和谷歌了好几个小时,但找不到答案。我找到了相关但没有任何作用的东西。

以下是代码:

$oldmask = umask(0);

if(!is_dir("play")){
    mkdir("play", 0777, true);
    chmod("play", 0777);
}
if(!is_dir("play/playTest")){
    mkdir("play/playTest", 0777, true);
    chmod("play/playTest", 0777);
}

umask($oldmask);

目录"播放"创建正常,但是当我尝试创建" play / playTest" 。目录

SAFE MODE Restriction in effect. The script whose uid/gid is 178245/178245 is not allowed to access /a/b/c/play owned by uid/gid 25000/25000 in /a/b/c/script.php

我理解这是由于安全模式导致的文件所有者限制,但是为什么在同一个脚本中创建文件夹时用户会有所不同?

我尝试过使用和不使用umask以及使用和不使用chmod,还有许多其他功能,但没有任何功能。

非常感谢任何和所有的帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

这种hacky解决方案依赖于安全模式漏洞:

(如果使用FTP,可以递归创建目录)

http://php.net/manual/en/function.mkdir.php#104301