您的位置主页 > 编程专区 > Php > php建立多级目录(多层)

php建立多级目录(多层)

2010-03-12    文章来源:互联网    浏览次数:1055     分享文章

通常在php中我们使用mkdir只能建立一级目录,直接使用mkdir建立多级目录会提示错误,自定义函数,建立多级目录或者多层目录
inso写的
 

 
  1. <?php
  2. mkpath('hml/a/b/c/d/e');
  3.  
  4. function mkpath($mkpath,$mode=0777){
  5.  
  6.      $path_arr=explode('/',$mkpath);
  7.  
  8.      foreach ($path_arr as $value){
  9.  
  10.              if(!emptyempty($value)){
  11.  
  12.                  if(emptyempty($path))$path=$value;
  13.  
  14.                  else $path.='/'.$value;
  15.  
  16.                  is_dir($pathor mkdir($path,$mode);
  17.  
  18.              }
  19.  
  20.      }
  21.  
  22.      if(is_dir($mkpath))return true;
  23.  
  24.      return false;
  25.  
  26. }
  27. ?> 

偶自己写的建立多层目录的函数
 

 
  1. <?php
  2. function makedir($dir,$mode="0700") {
  3.  
  4.      if(strpos($dir,"/")){
  5.  
  6.              $dir_path="";
  7.  
  8.              $dir_info=explode("/",$dir);
  9.  
  10.              foreach($dir_info as $key=>$value){
  11.  
  12.                      $dir_path.=$value;
  13.  
  14.                      if(!file_exists($dir_path)){
  15.  
  16.                          @mkdir($dir_path,$modeor die("建立文件夹时失败了");
  17.  
  18.                          @chmod($dir_path,$mode);
  19.  
  20.                          }else{
  21.  
  22.                          $dir_path.="/";
  23.  
  24.                          continue;
  25.  
  26.                          }
  27.  
  28.                      $dir_path.="/";
  29.  
  30.                      }
  31.  
  32.              return $dir_path;
  33.  
  34.          }else{
  35.  
  36.                  @mkdir($dir,$modeor die("建立失败了,请检查权限");
  37.  
  38.                  @chmod($dir,$mode);
  39.  
  40.                  return $dir;
  41.  
  42.                  }
  43.  
  44.      }//end makedir
  45. makedir("0/1/2/3/");
  46. ?> 

unspace提供滴多层目录建立函数
 

 
  1. function CreateFolder($path){
  2.  
  3.              if (!file_exists($path)){
  4.  
  5.                      CreateFolder(dirname($path));
  6.  
  7.                      mkdir($path, 0777) or die('目标目录权限不够,无法建立文件夹');
  8.  
  9.              }
  10.  

村长夫人提供的多级目录建立函数
 

 
  1. function MkPath($path$mask){
  2.  
  3.              $parsePath = explode("/"$path);
  4.  
  5.              $newPath = "";
  6.  
  7.              foreach($parsePath as $dir){
  8.  
  9.                      $newPath .= $dir;
  10.  
  11.                      if("" != $newPath && ".." != $newPath && "." != $newPath && !is_dir($newPath)){
  12.  
  13.                                  if(false == @mkdir($newPath$mask)){
  14.  
  15.                                              return false;
  16.  
  17.                                  }
  18.  
  19.                      }
  20.  
  21.                      $newPath .= "/";
  22.  
  23.              }
  24.  
  25.              return true;
  26.  

另外一个巨经典的多级目录建立函数

 
  1. /*
  2.  
  3. *@functionName:Directory
  4.  
  5. *@param:str '/a/b/c/d/f'
  6.  
  7. *@returnValue:true or false
  8.  
  9. *@USAGE:Directory('/a/b/c/d/f');
  10.  
  11. *@函数作用:生成目录....@_@..太精典了..
  12.  
  13. */
  14.  
  15. function Directory($dir){    
  16.     return is_dir($diror (Directory(dirname($dir)) and mkdir($dir, 0777));


站长精心整理,请测试

文章评论(查看全部)

昵 称 *
电子邮箱 *
网 址      5 + 0 = ?