基于ThinkPHP删除目录及目录文件函数


Posted in PHP onOctober 28, 2020

1、删除目录及目录下所有的文件

2、删除目录下的所有文件但目录结构保留

3、删除指定文件

代码如下

/**
 +-----------------------------------------------------------------------------------------
 * 删除目录及目录下所有文件或删除指定文件
 +-----------------------------------------------------------------------------------------
 * @param str $path  待删除目录路径
 * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
 +-----------------------------------------------------------------------------------------
 * @return bool 返回删除状态
 +-----------------------------------------------------------------------------------------
 */
function delDirAndFile($path, $delDir = FALSE) {
  if (is_array($path)) {
    foreach ($path as $subPath)
      delDirAndFile($subPath, $delDir);
  }
  if (is_dir($path)) {
    $handle = opendir($path);
    if ($handle) {
      while (false !== ( $item = readdir($handle) )) {
        if ($item != "." && $item != "..")
          is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");
      }
      closedir($handle);
      if ($delDir)
        return rmdir($path);
    }
  } else {
    if (file_exists($path)) {
      return unlink($path);
    } else {
      return FALSE;
    }
  }
  clearstatcache();
}

这个函数和unlink有什么不一样?如果知道要删除的是一个文件可以直接使用unlink函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
如何在PHP中进行身份认证
Oct 09 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
php使用imagecopymerge()函数创建半透明水印
Jan 25 PHP
php对微信支付回调处理的方法
Aug 23 PHP
PHP tp5中使用原生sql查询代码实例
Oct 28 #PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 #PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 #PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 #PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 #PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 #PHP
Laravel配合jwt使用的方法实例
Oct 25 #PHP
You might like
php printf输出格式使用说明
2010/12/05 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
python实现rest请求api示例
2014/04/22 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
Python 正则表达式的高级用法
2016/12/04 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
python实现人脸识别代码
2017/11/08 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
民主评议党员自我评价材料
2014/09/18 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书