【发布时间】:2015-09-26 15:15:31
【问题描述】:
所以我正在创建一个图片上传网站,我需要同时删除多个目录和文件。我已经设法创建了可以完成这项工作的代码,但是我不确定这是否是“好代码”,因为我在重复自己。
下面有没有更好的写法?
$dirname = 'uploads/'.$album_id;
$dirnamethumb = 'uploads/thumbs/'.$album_id;
if (is_dir($dirname))
$dir_handle = opendir($dirname);
if (!$dir_handle)
return false;
while($file = readdir($dir_handle)) {
if ($file != "." && $file != "..") {
if (!is_dir($dirname."/".$file))
unlink($dirname."/".$file);
else
delete_directory($dirname.'/'.$file);
}
}
if (is_dir($dirnamethumb))
$dir_handle = opendir($dirnamethumb);
if (!$dir_handle)
return false;
while($file = readdir($dir_handle)) {
if ($file != "." && $file != "..") {
if (!is_dir($dirnamethumb."/".$file))
unlink($dirnamethumb."/".$file);
else
delete_directory($dirnamethumb.'/'.$file);
}
}
closedir($dir_handle);
rmdir($dirname);
rmdir($dirnamethumb);
return true;
提前感谢您的帮助!
【问题讨论】:
-
当你看到重复时,用你的数据循环:
$dirs = array('uploads/'.$album_id, 'uploads/thumbs/'.$album_id);,然后循环$dirs做你的事情......之后,我不知道“好方法” " 删除文件夹...有很多功能...你的看起来很干净。 -
太棒了!现在是一半大小,非常感谢!!!