跳转到主内容
极星编程网:以代码为星,赴技术山海!

thinkphp如何删除文件夹

一、删除空文件夹 要删除一个空的文件夹,我们可以使用PHP内置的
rmdir()
函数,它可以直接删除一个空文件夹。在ThinkPHP中,我们只需要使用
rmdir()
函数的路径参数,便可以删除指定的文件夹。例如:
$path = './test'; //要删除的文件夹路径 if(is_dir($path)){ rmdir($path); }
上面的示例中,首先我们定义了要删除的文件夹路径,然后使用
is_dir()
函数判断此路径是否为一个目录,如果是目录就执行
rmdir()
函数来删除它。需要注意的是,这种方法只能删除空文件夹,如果文件夹中还存在文件或子文件夹,则无法删除。 二、删除非空文件夹 立即学习 “ PHP免费学习笔记(深入) ”; ThinkPHP 8.1.0 ThinkPHP 8.1.0 正式发布,深度优化路由与验证机制,完美兼容 PHP 8.4。本版本修复了数组路由配置异常,新增枚举值校验与高级数组验证功能,支持路由分类默认处理。作为高性能 PHP 框架的最新迭代,它延续了简洁实用的设计原则,提供更稳定的底层架构与更流畅的开发体验,助力开发者快速构建现代化 Web 应用与企业级系统。 下载 如果要删除非空文件夹,我们可以使用
delDir()
函数来实现,下面是一个简单的实现:
function delDir($path){ if(is_dir($path)){ if ($dh = opendir($path)){ while (($file = readdir($dh)) !== false){ if ($file != '.' && $file != '..'){ $fullpath = $path.'/'.$file; if(!is_dir($fullpath)){ unlink($fullpath); }else{ delDir($fullpath); } } } closedir($dh); rmdir($path); } } }
delDir()
函数的作用是删除目录,它通过递归调用自身,先删除目录中的所有文件,然后再删除这个目录。具体实现方法是首先使用
opendir()
函数打开指定目录,然后使用
readdir()
函数读取目录中所有文件和文件夹,判断它们是否为.
和..
,如果不是则以同样的方式进行处理。 如果是文件,直接使用
unlink()
函数删除;如果是文件夹,则递归调用
delDir()
函数删除这个文件夹及其内容。最后再使用
rmdir()
函数删除这个空目录。

相关文章