PHP - mkdir()创建第一个递归目录,但不创建其中的目录

时间:2018-03-28 20:23:12

标签: php permissions directory

我在PHP中遇到了一个奇怪的问题

我有以下代码

function subirFotoTemporal($idhash)
{
    global $target_dir;
    $dirfinal = $target_dir."temporales/".$idhash;
    if (!is_dir($dirfinal))
        mkdir($dirfinal, 0664, true);     
    [...]

但是,我在最后一行收到警告:mkdir(): Permission denied [...]

这会导致后续代码失败,因为它取决于此阶段中创建的目录。事实证明,目录temporales已创建,但基于$idhash的目录不是。使用0644权限集创建temporales文件夹,而不是在命令中指定的0664。

我在网站上检查过类似的问题,我检查了Apache环境中的每个文件都设置为www-data所有者。

这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

原来这是@JamesBond建议的权限问题。

进一步测试显示我需要为所有者设置执行权限。 07xx