您好我正在建立一个网站,需要动态构建基于用户重新显示详细信息的文件结构,这将是在创建一个usr目录,子目录级别将是基于php脚本的目录的id,这个到目前为止,我可以创建chmod 777没有问题。但是,当我尝试在id目录中创建子目录,如图像文件夹,然后一个html文件夹和一个CSS文件夹,我一直得到权限错误。服务器是我的经销商托管帐户上的Linux服务器
以下是php代码
$dirPath = "../userDirectory/$diectoryid/";
echo $ dirPath;
mkdir ('$dirPath/image/',0777,true);
答案 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);