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

即使目录存在,PHP mkdir也会返回错误,php,directory,mkdir,Php,Directory,Mkdir,我已经查看了这些链接 这些解决方案对我来说并不奏效。我仍然收到消息:mkdir():没有这样的文件或目录 我想创建一个名为2018的目录,在名为folder_name的目录中有一个子文件夹01。这是输入$\u SERVER['DOCUMENT\u root']时从根目录开始的路径: “/home/digits/www.url.com/app” 这就是我尝试过的 $document_folder = $_SERVER['DOCUMENT_ROOT']."/".REPORT_FOLDER

我已经查看了这些链接

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

我想创建一个名为2018的目录,在名为folder_name的目录中有一个子文件夹01。这是输入$\u SERVER['DOCUMENT\u 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);
}

有人能看看这个,看看我哪里出了问题吗?

看来
2018
文件夹不存在

要同时自动创建
2018
2018/01
文件夹,您需要为
$recursive
()


您试图创建的目录的父目录必须存在。也就是说,必须存在到
$\u服务器['DOCUMENT\u ROOT'].“/”.REPORT\u文件夹.“/”.date(“Y”).“/”
的路径,才能在其中创建目录
date(“m”)

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

mkdir($document_folder, 0777, true);

您是否
echo
退出您的
$document\u文件夹
以查看它是否是正确的路径?它会生成“/home/digits/www.url.com/app/2018/01”尝试检查服务器中报告\u文件夹中存在的内容,并检查权限。啊!我假设mkdir会自动执行此操作。几分钟后我会接受你的回答。非常感谢。
mkdir($document_folder, 0777, true);