递归创建多级目录

发表日期:2022-08-06 15:58:05 | 来源: | | 浏览(821) 分类:PHP杂项

十多年前写的,比如要创建a/b/c/d目录得一层层创建,这个函数可以帮您递归创建搞定

ROOT_PATH 为项目根目录

01/**
02 * 检测目录是否存在/创建多级目录
03 * @param String $path 目录路径[D:/a/b] or [a/b/c] or [./a/b] or [/a/b/c] or [../../a/b]
04 * @return boolean 目录是否存在/多级目录是否创建成功
05 */
06function quick_make_dirs($path)
07{
08    if (is_dir($path)) return true;
09 
10    $path str_replace(ROOT_PATH, '', preg_replace('/[\\\|\/]+/', DS, $path));
11 
12    $dirs explode(DS, $path);
13 
14    $dir = ROOT_PATH;
15 
16    for ($i = 0; $i count($dirs); $i++) {
17 
18        if ($dirs [$i] == ''continue;
19 
20        $dir .= $dirs [$i] . DS;
21 
22        if (!is_dir($dir)) {
23            //mkdir($dir, 0777) or TRIGGER_ERROR("!-目录[$dir]不可写,请手动设置目录权限!");
24            if (!mkdir($dir, 0777)) {
25                break;
26            }
27 
28        }
29    }
30 
31    return is_dir($dir) ? true : false;
32}


集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。