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() 函数的第三个参数。
标注好注释的函数
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() 函数的第三个参数。
标注好注释的函数
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03