好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php中mkdir函数递归创建目录(文件夹) - php文件操作

php中mkdir函数递归创建目录(文件夹)

在php中mkdir函数是创建目录它自身是不可以递归创建目录了,我们需要遍历进行目录然后调用mkdir即可,下面来看一下操作方法,实例代码如下:

<?php  /**    * Makes directory and returns BOOL(TRUE) if exists OR made.    *    * @param  $path Path name    * @return bool    */   function  rmkdir( $path ,  $mode  = 0755) {       $path  = rtrim(preg_replace( array ( "/\\/" ,  "//{2,}/" ),  "/" ,  $path ),  "/" );       $e  =  explode ( "/" , ltrim( $path ,  "/" ));       if ( substr ( $path , 0, 1) ==  "/" ) {           $e [0] =  "/" . $e [0];      }       $c  =  count ( $e );       $cp  =  $e [0];       for ( $i  = 1;  $i  <  $c ;  $i ++) {           if (! is_dir ( $cp ) && !@ mkdir ( $cp ,  $mode )) {               return  false;          }           $cp  .=  "/" . $e [ $i ];      }       return  @ mkdir ( $path ,  $mode );  }  ?> 

实例2代码如下:

<?php  function  mkdir_r( $dirName ,  $rights =0777){       $dirs  =  explode ( '/' ,  $dirName );       $dir = '' ;       foreach  ( $dirs   as   $part ) {           $dir .= $part . '/' ;           if  (! is_dir ( $dir ) &&  strlen ( $dir )>0)               mkdir ( $dir ,  $rights );      }  }  ?> 

实例3代码如下:

function  mkdirs( $dir )      {           if (! is_dir ( $dir ))          {               if (!mkdirs(dirname( $dir ))){                   return  false;              }               if (! mkdir ( $dir ,0777)){                   return  false;              }          }           return  true;      }       function  rmdirs( $dir )      {           $d  = dir( $dir );           while  (false !== ( $child  =  $d ->read())){               if ( $child  !=  '.'  &&  $child  !=  '..' ){                   if ( is_dir ( $dir . '/' . $child ))                  rmdirs( $dir . '/' . $child );                   else  unlink( $dir . '/' . $child );              }          }           $d ->close();           rmdir ( $dir );      } 

三个创建目录的函数都有自己的优点,这里我也没有一个个测试了,只使用了第二个感觉非常的不错。

查看更多关于php中mkdir函数递归创建目录(文件夹) - php文件操作的详细内容...

  阅读:70次