基于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 相关文章推荐
类的另类用法--数据的封装
Oct 09 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
May 08 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 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
php5.2时间相差8小时
2007/01/15 PHP
PHP Curl出现403错误的解决办法
2014/05/29 PHP
跟我学Laravel之路由
2014/10/15 PHP
php格式化时间戳
2016/12/17 PHP
js转化毫秒为时间格式代码
2014/04/10 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
vuex操作state对象的实例代码
2018/04/25 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
python使用marshal模块序列化实例
2014/09/25 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python测试线程应用程序过程解析
2019/12/31 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
商业活动邀请函
2014/02/04 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
经济纠纷起诉状
2015/05/20 职场文书
给学校的建议书400字
2015/09/14 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
一文简单了解MySQL前缀索引
2022/04/03 MySQL
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技