php 创建多级目录
php提供了mkdir来创建文件,但对应5.0一下的版本不支持递归创建多级目录,也就是说给定要创建的目录的上级目录不存在,那么就会创建失败,5.0及以上版本通过吧第三个参数设置为TRUE,就能递归创建指定的目录,不过自己实现一个递归创建多目录的函数也很简单,具体代码如下:
function mkdirs( $dir ){ if (! is_dir ( $dir )){ if (!mkdirs(dirname( $dir ))){ return FALSE; } if (! mkdir ( $dir , 0777)){ return FALSE; } } return TRUE; } $path = "/aa/bb/cc/cd" ; //要创建的目录 $mode =0755; //创建目录的模式 createdir( $path , $mode ); //测试php创建目录的函数是mkdir($dir,$mode);但是它每次只能创建一个目录,也就是说它不能一次创建多级目录,小编整理了两个可以递归创建目录的方法,代码如下:
<?php /* *mkdir($dir,$mode) *PHP 递归创建目录 */ function mkdirs( $dir , $mode = 0777) { if ( is_dir ( $dir ) || @ mkdir ( $dir , $mode )){ return true; } if (!mkdirs(dirname( $dir ), $mode )){ return false; } return @ mkdir ( $dir , $mode ); } function mkdirs( $dir , $mode = 0777) { $dirArray = explode ( "/" , $dir ); $dirArray = array_filter ( $dirArray ); $created = "" ; foreach ( $dirArray as $key => $value ){ if (! empty empty ( $created )){ $created .= "/" . $value ; if (! is_dir ( $created )){ mkdir ( $created , $mode ); } } else { if (! is_dir ( $value )){ mkdir ( $value , $mode ); } $created .= $value ; } } } ?> //代码应用实例 $path = "abc/ff/ss/" ; mkdirs( $path , $mode = 0777);查看更多关于php 创建多级目录 - php文件操作的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did27830