制作多个子目录的权限错误

时间:2015-03-06 18:39:27

标签: php

您好我正在建立一个网站,需要动态构建基于用户重新显示详细信息的文件结构,这将是在创建一个usr目录,子目录级别将是基于php脚本的目录的id,这个到目前为止,我可以创建chmod 777没有问题。但是,当我尝试在id目录中创建子目录,如图像文件夹,然后一个html文件夹和一个CSS文件夹,我一直得到权限错误。服务器是我的经销商托管帐户上的Linux服务器

以下是php代码

$dirPath = "../userDirectory/$diectoryid/";

echo $ dirPath;

mkdir ('$dirPath/image/',0777,true);

2 个答案:

答案 0 :(得分:1)

当您使用单引号时,PHP将按字面解释。因此,在您的情况下,它将尝试创建:$ dirPath / image /(不是$ dirPath的VALUE,而是$ dirPath作为名称)

将第二行代码替换为:

mkdir($dirPath . 'image/', 0777, true);

如果剩下的代码没问题,它应该创建没有错误的文件夹。

答案 1 :(得分:1)

正如之前的评论中所指出的,这个细节实际上导致了这里的问题,而不是实际的文件权限:

这一行没有意义:mkdir ('$dirPath/image/',0777,true);。由于单引号,$dirPath不会扩展,而是在这里采用字面意思。因此,您创建一个名为$dirPath的文件夹...使用双引号或串联:

要么:

mkdir ("$dirPath/image/",0777,true);

或者:

mkdir ($dirPath . '/image/',0777,true);