php创建多级目录的代码

1.什么是多级目录

多级目录,就是在文件系统中,一个目录下还可以有一些目录。比如,在Windows系统中,D盘下可以有一个文件夹叫做work,而work文件夹下又可以有多个文件夹,比如doc、img、temp等,这是一个多级目录。

在web开发中也经常要用到多级目录,比如一个文章的链接可能就是:/blog/php/2020/01/01/article.html ,其中,blog目录下有php目录,php目录下有2020目录,2020目录下有01目录,01目录下有01目录,最后是article.html文件。

2.php创建多级目录的方法

php可以通过mkdir函数来创建目录,可以通过多次调用mkdir函数来创建多级目录,具体方法如下:

/**

* 创建多级目录

* @param string $dir 目录路径

* @param int $mode 目录权限,默认是0777

* @return bool

*/

function createMultiDirectory($dir, $mode = 0777)

{

if (is_dir($dir) || mkdir($dir, $mode, true)) {

return true; //如果已经存在,或者创建成功,则返回true

}

if (!createMultiDirectory(dirname($dir), $mode)) {

return false; //递归创建上级目录

}

return mkdir($dir, $mode); // 创建目录

}

该函数中,第一个参数$dir是目录路径,第二个参数$mode是目录的权限。如果目录创建成功,则返回true;如果创建失败,则返回false。

2.1 参数说明

以下是参数说明:

参数 说明
dir 目录路径
mode 目录权限,默认是0777,若不设置,则取当前系统设置的默认值。

2.2 函数说明

该函数使用了递归的方式来创建多级目录。如果上级目录不存在,则先递归创建上级目录,再创建当前目录。

在函数中,首先判断当前目录是否存在,如果存在,或者创建当前目录成功,则返回true;否则,就递归创建上级目录,并且判断创建上级目录是否成功,如果成功,则创建当前目录。最后返回创建当前目录的结果。

2.3 代码示例

以下是一个示例,展示了如何使用该函数来创建多级目录:

$dir = '/home/user/work/blog/php/2020/01/01';

if (createMultiDirectory($dir)) {

echo '目录创建成功';

} else {

echo '目录创建失败';

}

在上面的代码中,如果创建成功,则输出“目录创建成功”,否则输出“目录创建失败”。

后端开发标签