+
80
-

php如何根据路径递归创建多级目录?

php

请问php如何根据路径递归创建多级目录?比如路径是/A/B/C/D/test.txt

如何先创建目录在写入文件?

网友回复

+
0
-
<?php

function createDir($dir) {
    if (is_dir($dir) || @mkdir($dir, 0777)) {
         return true;
        //echo $dir."创建成功<br>";
    } else {
        $dirArr = explode('/', $dir); //当子目录没创建成功时,试图创建父目录,用explode()函数以'/'分隔符切割成一个数组
        array_pop($dirArr); //将数组中的最后一项(即子目录)弹出来,
        $newDir = implode('/', $dirArr); //重新组合成一个文件夹字符串
        createDir($newDir); //试图创建父目录
        if (@mkdir($dir, 0777)) {
             return true;
            //echo $dir."创建成功<br>";

        } //再次试图创建子目录,成功输出目录名

    }

}
$_files=__DIR__."/a/b/c/d/test.txt";

createDir(dirname($_files));

我知道答案,我要回答