【发布时间】:2012-10-19 01:43:42
【问题描述】:
我已经设置了一些 PHP 来删除一个目录,它的内容,以及任何子目录及其内容......我是 PHP 新手,所以我肯定做错了什么或者正在做一些效率最低的事情方式。
寻找一些关于如何更好地做到这一点的参考或建议......
顺便说一句,这段代码运行良好。使用 PHP 5.3.8。
chmod($main_dir, 0755);
if ($handle = opendir($main_dir)) {
while (false !== ($entry = readdir($handle))) {
$absolute_path = $main_dir.'/'.$entry;
if ($entry != "." && $entry != "..") {
chmod($absolute_path, 0755);
unlink($absolute_path);
//check if any folders exist, then delete files within
if (file_exists($absolute_path) && is_dir($absolute_path)) {
if ($child_handle = opendir($absolute_path)) {
while (false !== ($child_entry = readdir($child_handle))) {
$child_absolute_path = $absolute_path.'/'.$child_entry;
if ($child_entry != "." && $child_entry != "..") {
chmod($child_absolute_path, 0755);
unlink($child_absolute_path);
}
}
closedir($child_handle);
}
}
rmdir($absolute_path);
}
}
closedir($handle);
}
rmdir($main_dir);
有什么想法吗?非常感激! 我正在使用 PHP 5.3.8
【问题讨论】:
-
这可能更适合code review
-
@shakabra 谢谢,现在去看看...
标签: php directory delete-file