Php 如何删除具有相同前缀名称的多个目录?

Php 如何删除具有相同前缀名称的多个目录?,php,filesystems,directory,rmdir,Php,Filesystems,Directory,Rmdir,我知道我们可以使用以下功能删除目录: rmdir($path); 但是,我想删除一组具有相同前缀的目录。 例如,有以下目录: A_Folder1,A_Folder2,A_Folder3,B_Folder1,B_Folder2,B_Folder3 然后我想删除所有只带有前缀“A_uu”的文件夹。至少有两种简单的方法: exec('rm -rf PREFIX*'); 或者您可以使用glob和is_dir函数至少有两种简单的方法: exec('rm -rf PREFIX*'); 或者您可以使用g

我知道我们可以使用以下功能删除目录:

rmdir($path);
但是,我想删除一组具有相同前缀的目录。 例如,有以下目录:

A_Folder1,A_Folder2,A_Folder3,B_Folder1,B_Folder2,B_Folder3


然后我想删除所有只带有前缀“A_uu”的文件夹。

至少有两种简单的方法:

exec('rm -rf PREFIX*');

或者您可以使用
glob
is_dir
函数

至少有两种简单的方法:

exec('rm -rf PREFIX*');

或者您可以使用
glob
is_dir
函数

它可以实现如下示例:

<?php

    $dir = '/path/to/some/dir/'; // notice: trailing slash!
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if (is_dir($dir . $entry) && strtolower(substr($entry, 0, 2)) == 'a_') {
                rmdir($dir . $entry);
            }
        }
        closedir($handle);
    }
?>

例如,它可以实现如下:

<?php

    $dir = '/path/to/some/dir/'; // notice: trailing slash!
    if ($handle = opendir($dir)) {
        while (false !== ($entry = readdir($handle))) {
            if (is_dir($dir . $entry) && strtolower(substr($entry, 0, 2)) == 'a_') {
                rmdir($dir . $entry);
            }
        }
        closedir($handle);
    }
?>


使用
glob()
获取列表,然后逐个删除使用
glob()
获取列表,然后逐个删除您还必须检查它是否
是\u dir()
。您还必须检查它是否
是\u dir()