基于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递归列出所有文件和目录的代码
Sep 10 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
用PHP将数据导入到Foxmail的实现代码
Sep 05 PHP
php中使用preg_match_all匹配文章中的图片
Feb 06 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP7常量数组用法分析
Sep 26 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 PHP
Laravel 实现数据软删除功能
Aug 21 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数组array类常见操作示例
2020/05/15 PHP
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
python获取酷狗音乐top500的下载地址 MP3格式
2018/04/17 Python
python和shell获取文本内容的方法
2018/06/05 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
金讯Java笔试题目
2013/06/18 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
自考生自我鉴定范文
2013/10/01 职场文书
毕业生怎样写好自荐信
2013/11/11 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
感谢信怎么写
2015/01/21 职场文书
教师个人年度总结
2015/02/11 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
会议室使用管理制度
2015/08/06 职场文书
离婚协议书格式范本
2016/03/18 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python