/** * 递归创建目录 * @param [string] $path [创建的目录] * @return [type] [description] */ function mk_Dir($path){ // 如果目录存在返回 ture if(is_dir($path)){ return true; } // 如果上级目录存在 创建目录 if(is_dir(dirname($path))){ return mkdir($path); } // 递归 查找父目录 mk_Dir(dirname($path)); return mkdir($path); }
function mk_Dir($path){ // 目录存在返回 ture if(is_dir($path)){ return true; } // 父目录存在 或 递归找到父目录,创建目录 return is_dir(dirname($path)) || mk_Dir(dirname($path)) ? mkdir($path) : "false"; }
/** * 迭代创建目录(我理解的迭代就是从最小积累到最大的过程) * @param [string] $path [创建目录名] * @return [type] [description] */ function mk_dir($path){ $arr = array(); // 将目录分解存入数组 while(!is_dir($path)){ array_unshift($arr,$path); // 把元素 插入数组头部 $path = dirname($path); } if(empty($arr)){ return ture; } foreach($arr as $v){ mkdir($v); } }
在php5 以后可以使用 mkdir第三个参数,递归创建目录 mkdir("目录名",0777,true);
function delDir($path){ if(!is_dir($path)){ return null; } $dh = opendir($path); while(($row = readdir($dh)) !== false){ if($row == "." || $row == ".."){ continue; } if(!is_dir($path . "/" . $row)){ unlink($path . "/" . $row); }else{ delDir($path . "/" . $row); } } closedir($dh); rmdir($path); return true; // 会在页面上输出1 }