PHP 检查是否存在前缀为admin-的目录

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

要检查是否存在前缀为 “admin-” 的目录,可以使用 PHP 的文件系统函数和字符串函数来完成。具体步骤如下:
使用 opendir() 函数打开当前目录,返回一个目录句柄。
使用 readdir() 函数读取目录中的文件和子目录,并使用 substr() 函数获取目录名的前缀。
如果目录名的前缀为 “admin-“,则说明存在前缀为 “admin-” 的目录。可以使用 closedir() 函数关闭目录句柄并返回 true,否则继续遍历目录中的文件和子目录。
如果遍历完目录后仍然没有找到前缀为 “admin-” 的目录,可以使用 closedir() 函数关闭目录句柄并返回 false。
下面是一个示例代码:
function has_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;
}
$dir = '/path/to/directory';
$admin_dir_name = 'admin-';
$new_dir_name = 'admin-JUSKD';
$result = has_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;
}
在这个示例中,我们使用递归函数 has_admin_dir() 遍历指定目录下的所有文件和子目录。如果找到前缀为 “admin-” 的目录,函数返回 true;否则函数返回 false。调用函数时,传入要检查的目录的路径即可。例如:
if (has_admin_dir('/path/to/your/directory')) {
    echo "Found admin directory.";
} else {
    echo "Admin directory not found.";
}
注意,这个示例代码仅适用于检查当前目录及其子目录中是否存在前缀为 “admin-” 的目录。如果要检查指定目录的直接子目录中是否存在前缀为 “admin-” 的目录,可以将递归部分的代码删除,并在循环中使用 is_dir() 函数判断当前文件是否是目录。
猜你需要

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

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