服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

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

时间:2016-02-14 00:42来源: 作者: 点击:
在php中mkdir函数是创建目录它自身是不可以递归创建目录了,我们需要遍历进行目录然后调用mkdir即可,下面来看一下操作方法,实例代码如下: ?php /** *MakesdirectoryandreturnsBOOL(TRUE)ifexistsORmade
在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); 
    } 
三个创建目录的函数都有自己的优点,这里我也没有一个个测试了,只使用了第二个感觉非常的不错。
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容