PHP 查找是否存在指定特征的目录,没有则创建

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

PHP 检查指定目录是否存在前缀admin-的目录,如果存在便返回目录名称,不存在则创建一个目录,帮我写成函数,其中admin-是第一个变量,第二个是创建的新目录名称,其中,admin-是变量
以下是一个实现此功能的 PHP 函数。该函数首先检查指定目录中是否存在以 “admin-” 开头的目录,如果存在则返回目录名,否则创建一个新目录,并返回新目录名。
function check_admin_dir($dir, $new_dir_name) {
    $handle = opendir($dir);
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && is_dir($dir.'/'.$file) && strpos($file, 'admin-') === 0) {
            closedir($handle);
            return $file;
        }
    }
    closedir($handle);
    $new_dir_path = $dir . '/' . $new_dir_name;
    if (!file_exists($new_dir_path)) {
        mkdir($new_dir_path, 0777, true);
        return $new_dir_name;
    }
    return false;
}
该函数的第一个参数是要检查的目录路径,第二个参数是要创建的新目录名。在函数内部,我们使用 opendir() 和 readdir() 函数遍历指定目录中的文件和子目录。如果找到前缀为 “admin-” 的目录,函数会使用 closedir() 函数关闭目录句柄并返回目录名。如果没有找到前缀为 “admin-” 的目录,函数会使用 mkdir() 函数创建一个新目录,并返回新目录名。
以下是一个使用示例:
$dir = '/path/to/directory';
$admin_dir_name = 'admin-';
$new_dir_name = 'admin-JUSKD';
$result = check_admin_dir($dir, $new_dir_name);
if ($result === false) {
    echo 'Failed to create directory.';
} else if ($result === $new_dir_name) {
    echo 'Created new directory: ' . $result;
} else {
    echo 'Found existing directory: ' . $result;
}
在上面的示例中,我们首先定义了要检查的目录路径和要创建的新目录名。然后我们调用 check_admin_dir() 函数,将这两个参数传递给它。最后,我们检查函数返回的结果,并根据结果输出相应的消息。如果函数返回 false,表示创建目录失败;如果函数返回新目录名,表示成功创建了新目录;如果函数返回已存在的目录名,表示找到了现有的目录。
猜你需要

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

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