【发布时间】:2017-03-17 07:50:21
【问题描述】:
我一直在做一个项目,其中涉及一个步骤,在此期间脚本需要自动删除 Linux 中的某个目录(及其所有内容)。
我目前正在使用以下代码来执行此操作:
# Perform a recursive removal of the obsolete folder
$dir_to_erase = $_SESSION['path'];
function removeDirectory($dir_to_erase) {
$files = glob($dir_to_erase . '/*');
foreach ($files as $file) {
is_dir($file) ? removeDirectory($file) : unlink($file);
}
rmdir($dir_to_erase);
return;
}
$_SESSION['path'] 是要擦除的文件夹。一直在工作,但我最近不得不在文件夹中添加一个 .htaccess 文件,我注意到脚本停止正常工作(它继续正常删除其余文件,但不是 .htaccess 文件)。
谁能指出我应该添加到代码中的内容,包括删除过程中的隐藏点文件?
【问题讨论】:
-
/* 不匹配以“.”开头的文件。在 bash shell 上尝试一下。我假设将脚本中的 /* 更改为 /。实际上应该在 Linux 系统上完成这项工作。不过我从来没有用过 glob。