如何递归删除PHP中的目录及其全部内容(文件+子目录)?如何删除PHP中的目录及其全部内容(文件和子目录)?
3 回答
![?](http://img1.sycdn.imooc.com/5458471300017f3702200220-100-100.jpg)
慕田峪9158850
TA贡献1794条经验 获得超7个赞
rmdir
?
function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { if (is_dir($dir."/".$object)) rrmdir($dir."/".$object); else unlink($dir."/".$object); } } rmdir($dir); } }
![?](http://img1.sycdn.imooc.com/54586453000163bd02200220-100-100.jpg)
千巷猫影
TA贡献1829条经验 获得超7个赞
$files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::CHILD_FIRST);foreach ($files as $fileinfo) { $todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink'); $todo($fileinfo->getRealPath());}rmdir($dir);
$todo
if
/else
CHILD_FIRST
![?](http://img1.sycdn.imooc.com/533e4c2300012ab002200220-100-100.jpg)
慕哥9229398
TA贡献1877条经验 获得超6个赞
function recurseRmdir($dir) { $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? recurseRmdir("$dir/$file") : unlink("$dir/$file"); } return rmdir($dir);}
- 3 回答
- 0 关注
- 490 浏览
添加回答
举报
0/150
提交
取消