基于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文件下载类
Dec 06 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
PHP中常用的转义函数
Feb 28 PHP
PHP学习笔记(一) 简单了解PHP
Aug 04 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
Jun 13 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
php表单处理操作
Nov 16 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
PHP通过bypass disable functions执行系统命令的方法汇总
May 02 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 PHP
PHP7 list() 函数修改
Mar 09 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
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
php实现贪吃蛇小游戏
2016/07/26 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
jquery事件preventDefault()方法用法实例
2015/01/16 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
JS打印组合功能
2016/08/04 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
js实现密码强度检验
2017/01/15 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
解读! Python在人工智能中的作用
2017/11/14 Python
Python中django学习心得
2017/12/06 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
详解python中的异常和文件读写
2021/01/03 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
11月红领巾广播稿
2014/01/17 职场文书
年底个人总结范文
2015/03/10 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS