我想删除一个主文件夹沿着其中的所有文件和子文件夹。我尝试了一个代码块,它使用glob()
迭代所有文件,然后调用rmdir()
删除主文件夹,调用unlink()
删除文件。但是,子文件夹不会被删除。如何修改此代码以同时删除子文件夹?
示例代码:
foreach (glob($dir . '/*') as $file) {
if (is_dir($file)) {
rmdir($file);
} else {
unlink($file);
}
}
rmdir($dir);
1条答案
按热度按时间b4wnujal1#
当然可以!下面是代码的修改版本,它使用CodeIgniter的File Helper中的
delete_files()
删除主文件夹及其文件和子文件夹:在这段代码中,为
foreach
循环中遇到的每个子文件夹调用delete_files()
函数。它递归地删除每个子文件夹中的所有文件和子文件夹。如果遇到文件而不是子文件夹,则会像以前一样使用
unlink()
删除该文件。最后,删除所有文件和子文件夹后,使用
rmdir()
删除主文件夹。请记住,使用要删除的主文件夹的实际路径来调整
$dir
变量。