请问php如何根据路径递归创建多级目录?比如路径是/A/B/C/D/test.txt
如何先创建目录在写入文件?
网友回复
<?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));