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()
。