//循环创建目录 //$dirs为一个数组 元素为路径 //$dirs=array( //'Text/', //'Tpl/' //) /*foreach($dirs as $dir){ //$dir为路劲不包含文件名 if(is_dir($dir)) mk_dir($dir,0777); } */ //方法2(thinkphp) // 递归创建目录 /*function mk_dir($dir, $mode = 0777) { //只创建1级目录 $dir='./a'; if (is_dir($dir) || @mkdir($dir, $mode)) return true; //创建多级目录 $dir='./a/b/c/d'; if (!mk_dir(dirname($dir), $mode)) return false; return @mkdir($dir, $mode); } $dir='./a/b/c/d'; mk_dir($dir); */ //方法3 //mkdir第三个参数默认false就是单层创建,如果设置为true就是支持多层目录创建(不用方法2那么麻烦) function mkdirs($dir, $mode = 0777, $makeindex = TURE){ if(!is_dir($dir)){ mkdirs(dirname($dir)); @mkdir($dir,$mode); if(!empty($makeindex)){ //$touch($dir.'/index.html'); //$chmod($dir.'/index.html',0777); } } return true; } $dir='./a'; //mkdirs($dir);
//方法3递归
/*
mkdirs(dirname('./a/b/c/d')) -->mkdirs(dirname('./a/b/c'))
-->mkdirs(dirname('./a/b'))-->mkdirs(dirname('./a'))
-->mkdirs(dirname('.'))
执行到此时
if(!is_dir('.')) .为当前路劲,所以!is_dir('.')为false
-->return true
-->@mkdir('./a',0777)-->@mkdir('./a/b',0777)
-->@mkdir('./a/b/c',0777)-->@mkdir('./a/b/c/d',0777);
*/
//方法4
$dir='./a/b/c/d'; if (!mkdir($dir, 0777, true)) { die('Failed to create folders...'); }