PHP 检查指定目录是否存在指定前缀的目录,存在便返回目录名称,不存在则创建一个目录

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

封装的代码:
function checkOrCreateDirectory($dir, $prefix, $newDirName) {
    $directories = array_filter(glob($dir . '/*'), 'is_dir');
    
    foreach ($directories as $directory) {
        $directoryName = basename($directory);
        if (strpos($directoryName, $prefix) === 0) {
            return $directoryName;
        }
    }
    
    $newDirectory = $dir . '/' . $prefix . $newDirName;
    if (!file_exists($newDirectory)) {
        mkdir($newDirectory, 0777, true);
    }
    
    return $prefix . $newDirName;
}
这个函数会接收三个参数:需要检查的目录名、需要检查的前缀以及要创建的新目录名。它会使用 glob() 函数获取目录中的所有子目录,并使用 array_filter() 函数过滤掉所有的非目录文件。然后,它会循环遍历所有目录并检查它们的名称是否以指定的前缀开头。如果找到了一个匹配的目录,函数会立即返回该目录名称。否则,它会创建一个新目录并返回其名称。
注意,这个函数使用了 file_exists() 函数来检查新目录是否已经存在,以避免重复创建同名目录。如果您希望在创建新目录时应用不同的访问权限,可以修改 mkdir() 函数的第三个参数。
标注好注释的函数
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。