首页 / PHP / php – 删除目录内容和子目录内容
php – 删除目录内容和子目录内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 删除目录内容和子目录内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1412字,纯文字阅读大概需要3分钟。
内容图文
![php – 删除目录内容和子目录内容](/upload/InfoBanner/zyjiaocheng/703/b26ba179a86a40c39ecfce968a13d765.jpg)
我已经设置了一些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
解决方法:
您可以使用RecursiveDirectoryIterator列出所有文件和文件夹,然后删除它们.请注意,您必须使用RecursiveIteratorIterator :: CHILD_FIRST,以便在文件夹之前删除文件.
$dir = __DIR__ . "/test";
$di = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
$ri = new RecursiveIteratorIterator($di, RecursiveIteratorIterator::CHILD_FIRST);
foreach ( $ri as $file ) {
$file->isDir() ? rmdir($file) : unlink($file);
}
内容总结
以上是互联网集市为您收集整理的php – 删除目录内容和子目录内容全部内容,希望文章能够帮你解决php – 删除目录内容和子目录内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。