运用php函数mkdir创建多级目录

php默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建 div/css/layout,然而我们希望能让程序自动帮我们完成这个过程。

其实思路也很简单,1.先判断 div目录是否存在,不存在则创建;2.判断子目录 div/css 是否存在,不能存在则创建,3.在第二步中以子目录作为参数递归调用函数本身。也可以按相反顺序来,1.先判断最底层目录div/css/layout是否存在;2.判断div/css/layout的上层目录div/css是否存在,不存在则以div/css作为参数递归进行。。

下面是php函数mkdir的程序代码:

<?
function mkdirs($dir)
{
if(!is_dir($dir))
{
if(!mkdirs(dirname($dir)))
{ return false;
}
if(!mkdir($dir,0777))
{
return false;
}
}
return true;
}
mkdirs(‘div/css/layout‘); //同样的思路,php用rmdir和unlink递归删除多级目录的代码:
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实现创建多级目录的具体方法。

时间: 2024-08-27 06:34:02

运用php函数mkdir创建多级目录的相关文章

PHP使用mkdir创建多级目录的方法

PHP中使用mkdir()可以创建多级目录,相比之前自己一级一级的创建,这个函数非常好用. 下面是php手册上的函数介绍: bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] ) 返回值为bool类型. 第一个参数:必须,代表要创建的多级目录的路径: 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权: 第三个参数:true表示

php mkdir创建多级目录

先介绍一下 mkdir() 这个函数: mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径: 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权: 第三个参数:true表示允许创建多级目录. 举例代码(支持创建中文目录): <?php header("Content-type:text/html;charset=utf-8"); //要创建的多级目录 $path="dai/php/php学习"; //

【转】php利用mkdir创建多级目录

先介绍一下 mkdir() 这个函数: mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径: 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权: 第三个参数:true表示允许创建多级目录. 举例代码(支持创建中文目录): <?php header("Content-type:text/html;charset=utf-8"); //要创建的多级目录 $path="dai/php/php学习"; //

Php中使用mkdir如何创建多级目录?

php mkdir函数可以创建目录,而且在php5版本及以上可以直接使用该函数创建多级目录,但在php5以下版本无法直接使用mkdir创建多级目录,需要自己写函数来实现,本文章向大家介绍php开发中使用mkdir创建多级目录的二种实现方法,需要的朋友可以参考一下. 方法一:mkdir创建多级目录 mkdir($path,0777,true); PHP5对创建目录函数 mkdir 增加了一个新的参数 recursive ,通过设置 recursive 为 true 可以实现递归创建目录的目的,但是

php创建多级目录完整封装类操作

创建多级目录函数中调用创建指定下的指定文件的函数: public function create_dir($dir,$mode=0777) { return is_dir($dir) or ($this->create_dir(dirname($dir)) and mkdir($dir, $mode)); } 创建指定路径下的指定文件,string $path(需要包含文件名和后缀),boolean $over_write 是否覆盖文件,int $time 设置时间.默认是当前系统时间,int

PHP递归创建多级目录(一道面试题的解题过程)

今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存在”的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); /

python创建多级目录的基本格式

1 def mkdir(title):# 创建多级目录的基本格式 2 path = title.strip() #确定不含空格可以不加 3 isExists = os.path.exists('E:\\py\\xmly\\'+path)# 参数是绝对路径 4 # r'E:\py\xmly\\' r起到转义的作用(末尾必须双斜杠)等同于'E:\\py\\xmly\\' 需要转义的字符前加\ 5 # os.path.join(r'E:\xmly\py\\',path) 作用是拼接路径,也可以'E:\

PHP 检查并创建多级目录

<?php //检查并创建多级目录    function checkDir($path){        $pathArray = explode('/',$path);        $nowPath = '';        array_pop($pathArray);        foreach ($pathArray as $key=>$value){            if ( ''==$value ){                unset($pathArray[$ke

CreateDirectory递归创建多级目录

目的:实现用CreateDirectory创建多级目录 1.引入静态库 #include "shlwapi.h" #pragma comment(lib,"shlwapi.lib") 2.函数 const wchar_t* wcstrrchr(const wchar_t* str, const wchar_t wc) { const wchar_t* pwc = NULL; for (int i=wcslen(str)-1;i>=0;i--) { if (st