当前位置:首页 > PHP教程 > php文件操作 > 列表

php mkdir 创建多级目录实例代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-02 21:26:32 浏览: 评论:0 

先介绍一下 mkdir() 这个函数

mkdir($path,0777,true);

第一个参数:必须,代表要创建的多级目录的路径.

第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权.

第三个参数:true表示允许创建多级目录.

mkdir($dir,$mode);但是它每次只能创建一个目录,也就是说它不能一次创建多级目录,如下

mkdir('aa'); //就只能创建一个aa目录了

mkdir('aa/bb/cc');//如果有aa/bb目录就可以成功创建cc目录否则会报错哦,如果要创建多目录我们看下面代码.

举例代码,支持创建中文目录:

  1. header("Content-type:text/html;charset=utf-8"); 
  2.  //要创建的多级目录 
  3.  $path="dai/php/php学习"
  4.  //判断目录存在否,存在给出提示,不存在则创建目录 
  5.  if (is_dir($path)){  
  6.   echo "对不起!目录 " . $path . " 已经存在!"
  7.  }else
  8.   //第三个参数是“true”表示能创建多级目录,iconv防止中文目录乱码 
  9.   $res=mkdir(iconv("UTF-8""GBK"$path),0777,true); 
  10.   if ($res){ 
  11.    echo "目录 $path 创建成功"
  12.   }else
  13.    echo "目录 $path 创建失败"
  14.   } 
  15.  } 

再看一个递归创建目录的实例,小编整理了两个可以递归创建目录的方法供大家参考学习,代码如下:

  1. <?php 
  2. /* 
  3. *mkdir($dir,$mode) 
  4. *PHP 递归创建目录 
  5. */ 
  6. function mkdirs($dir$mode = 0777) 
  7.     if (is_dir($dir) || @mkdir($dir$mode)){ 
  8.         return true; 
  9.     } 
  10.     if (!mkdirs(dirname($dir), $mode)){ 
  11.         return false; 
  12.     } 
  13.     return @mkdir($dir$mode); 
  14. function mkdirs($dir$mode = 0777) 
  15.     $dirArray = explode("/",$dir); 
  16.     $dirArray = array_filter($dirArray); 
  17.     
  18.     $created = ""
  19.     foreach($dirArray as $key => $value){ 
  20.         if(!emptyempty($created)){ 
  21.             $created .= "/".$value
  22.             if(!is_dir($created)){ 
  23.                 mkdir($created,$mode); 
  24.             } 
  25.         }else
  26.             if(!is_dir($value)){ 
  27.                 mkdir($value,$mode); 
  28.             } 
  29.             $created .= $value
  30.         } 
  31.     } 
  32. ?> 
  33. //代码应用实例 
  34. $path="abc/ff/ss/"
  35. mkdirs($path,$mode = 0777);

Tags: mkdir 创建多级目录

分享到: