即使目录存在,PHP mkdir也会返回错误

时间:2018-01-17 12:48:52

标签: php directory mkdir

我查看了这些链接

Why does PHP think this folder doesn't exist?

No such file or directory error using mkdir

这些解决方案对我没用。我仍然收到消息:mkdir():没有这样的文件或目录

我想在名为folder_name的目录中创建一个名为2018的目录,其子文件夹为01。当我输入$ _SERVER [' DOCUMENT_ROOT']时,这是从根开始的路径:  " /home/digits/www.url.com/app"

这就是我试过的

    $document_folder = $_SERVER['DOCUMENT_ROOT']."/".REPORT_FOLDER."/".date("Y")."/".date("m");

if(!is_dir($document_folder)){
     mkdir($document_folder, 0777);
}

有人可以看看这个,看看我哪里出错了吗?

2 个答案:

答案 0 :(得分:2)

似乎2018文件夹不存在。

要自动创建20182018/01文件夹,您需要为true传递$recursivePHP: mkdir

mkdir($document_folder, 0777, true);

答案 1 :(得分:0)

您尝试创建的目录的父目录必须存在。即必须存在最多$_SERVER['DOCUMENT_ROOT']."/".REPORT_FOLDER."/".date("Y")."/"的路径才能在其中创建目录date("m")

您可以使用$recursive参数隐式创建所有父目录:

mkdir($document_folder, 0777, true);