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

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函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数

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

(0)

相关推荐

  • Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例

    本文实例讲述了Thinkphp5.0框架使用模型Model的获取器.修改器.软删除数据操作.分享给大家供大家参考,具体如下: 一.获取器 在model中使用 get+字段名+Attr,可以修改字段的返回值. 数据库中性别保存为,0未知.1男.2女,查询时返回汉字: model: //将性别的012修改为未知.男.女返回 public function getSexAttr($val){ switch($val){ case '1' : return '男'; case '2': return '

  • thinkPHP删除前弹出确认框的简单实现方法

    本文实例讲述了thinkPHP删除前弹出确认框的简单实现方法.分享给大家供大家参考,具体如下: html部分: 复制代码 代码如下: <a href="__URL__/shanchu/id/{$vo.id}" onclick='return del();'>删除</a> javascript部分: <script> function del() { if(confirm("确定要删除吗?")) { return true; } e

  • Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解

    本文实例讲述了Thinkphp5.0 框架使用模型Model添加.更新.删除数据操作.分享给大家供大家参考,具体如下: Thinkphp5.0 的使用模型Model添加数据 使用create()方法添加数据 $res = TestUser::create([ 'name' => 'zhao liu', 'password' => md5(123456), 'email' => 'zhaoliu@qq.com' ]); dump($res); 使用save()方法添加数据 $userMod

  • ThinkPHP框架实现用户信息查询更新及删除功能示例

    本文实例讲述了ThinkPHP框架实现用户信息查询更新及删除功能.分享给大家供大家参考,具体如下: 一 代码 1.配置文件 <?php return array( 'APP_DEBUG' => false, // 关闭调试模式 'DB_TYPE'=> 'mysql', // 数据库类型 'DB_HOST'=> 'localhost', // 数据库服务器地址 'DB_NAME'=>'db_database30', // 数据库名称 'DB_USER'=>'root',

  • 基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能

    建议有js基础,了解jquery,thinkphp,废话不说多下面就上代码 <----HTML----> //thinkphp循环显示把data里fid赋予多选框 <volist name="data" id="vo"> <tr> <td><input type="checkbox" value="{$vo.fid}"/></td>//可在后面加td输入参

  • thinkPHP利用ajax异步上传图片并显示、删除的示例

    近来学习tp5的过程中,项目中有个发帖功能,选择主题图片.如下: 利用原始的文件上传处理,虽然通过原始js语句能实时显示上传图片,但是这样的话会涉及很多兼容问题.使用ajax技术,实现选择性删除所选图片功能,并不会有兼容问题. 表单文件form: <form method="post" enctype="multipart/form-data"> <div style="margin: 20px 20px 20px 10px;"

  • ThinkPHP删除栏目(实现批量删除栏目)

    前段时间发表了一个删除栏目的随笔,当时实现的功能是删除一条信息,这次来实现一下批量删除栏目. 我们需要达到的是这样一个效果: 选中批量删除按钮后可以选中所有该页面的栏目,这个是前端页面的实现,在这里就不多说了,我们直接进入正题:批量删除的功能. 1.前端页面这里也有一个小小的点,就是选择框的name值应给给他赋值为一个id的数组,value值为该栏目的id. 2.我们在控制器中单独写一个批量删除的方法 public function privilege_bdel(){ $ids = I('ids

  • tp5(thinkPHP5框架)使用DB实现批量删除功能示例

    本文实例讲述了tp5(thinkPHP5框架)使用DB实现批量删除功能.分享给大家供大家参考,具体如下: 1-前端页面 html <a href="javascript:;" rel="external nofollow" onclick="datadel()" class="btn btn-danger radius"> <i class="Hui-iconfont" ><

  • thinkphp框架实现删除和批量删除

    本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧. 预期效果图: 原谅博主对照片的处理是如此的草率吧... 仍然是 通过MVC模式进行拆分: 首先是视图部分: <form action="__MODULE__/Admin/User/del" method="get"> <tr> <th width="4%"><input type="checkbox" name=&quo

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

    1.删除目录及目录下所有的文件 2.删除目录下的所有文件但目录结构保留 3.删除指定文件 代码如下 /** +----------------------------------------------------------------------------------------- * 删除目录及目录下所有文件或删除指定文件 +----------------------------------------------------------------------------------

  • 基于PHP常用文件函数和目录函数整理

    一.常用文件函数库 1.basename(); -- 返回路径中的文件名部分. string basename ( string $path [, string $suffix ] ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名. 参数:path 一个路径.在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符.在其它环境下是斜线(/) suffix 如果文件名是以 suffix 结束的,那这一部分也会被去掉. 返回值:返回 path 的基本的文件名.

  • PHP删除目录及目录下所有文件的方法详解

    函数代码一:删除目录及目录下的所有文件 复制代码 代码如下: //循环删除目录和文件函数function delDirAndFile( $dirName ){if ( $handle = opendir( "$dirName" ) ) {while ( false !== ( $item = readdir( $handle ) ) ) {if ( $item != "." && $item != ".." ) {if ( is_

  • PHP unlink与rmdir删除目录及目录下所有文件实例代码

    在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作. 函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下: class shanchu { //循环目录下的所有文件 function delFileUnderDir( $dirName="../Smarty/templates/templates_c" ) { if ( $handle = opendir( "$dirName&q

  • php使用glob函数快速查询指定目录文件的方法

    本文实例讲述了php使用glob函数快速查询指定目录文件的方法.分享给大家供大家参考.具体如下: php搜索当前目录所有文件,代码如下: 复制代码 代码如下: $array = glob('*.*'); print_r($array );    /* Array (     [0] => 1.php     [1] => 10.php     [2] => 11.php     [3] => 2.asp     [4] => 3.asp     [5] => 4.asp

  • java显示目录文件列表和删除目录功能

    以d:\a目录为例,假设D:\a目录内的结构如下: d:\a |--a.sql |--back.log |--b | |--e | | |--1.txt | | |--2.txt | | `--3.txt | `--f | |--4.txt | |--5.txt | `--6.txt |--c | |--e | | |--ace1.txt | | |--ace2.txt | | `--ace3.txt | `--f | |--4.txt | |--5.txt | `--6.txt `--d |-

  • python基于watchdog库全自动化监控目录文件

    楔子 有些时候我们需要对一个目录进行监控,检测其内部是否有文件的新增.删除.以及每个文件的内容是否发生变化,这个时候如果是你的话,你会选择怎么做呢? 显然也是一个比较麻烦的工作,倒不是说难,主要是比较繁杂.但万幸的是,已经有一个第三方包watchdog帮我们完美地实现了这一点,所以这就是Python啊,想做什么都有现成的. 那么下面就来看一下它的用法,当然要先安装.直接:pip install watchdog即可. 使用方法 在我的桌面上有一个空目录test,一会儿我们对这个目录做的操作都会体

  • thinkPHP内置字符串截取函数用法详解

    本文实例讲述了thinkPHP内置字符串截取函数用法.分享给大家供大家参考,具体如下: thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便.调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用. 比如今天我们说的截取字符串函数,在thinkphp模板引擎里可以这样写:{$vo.title|msubstr=0,5,'utf-8′,false} 至于{$vo.title}这个大家肯定不陌生了.就说说后边的函数msubstr吧.

  • thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)

    本文实例讲述了thinkPHP+PHPExcel实现读取文件日期的方法.分享给大家供大家参考,具体如下: 我们使用PHPExcel读取excel文件后发现,时间都是类似于这样的数字:41890.620138889,那么如何将它处理成我们想要的2014-09-08 14:53:00这样格式的日期呢,看代码: Vendor('PHPExcel.PHPExcel.IOFactory'); $inputFileName = 'Public/demo/demo.xls'; $objReader = new

  • PHP实现的简单留言板功能示例【基于thinkPHP框架】

    本文实例讲述了PHP实现的简单留言板功能.分享给大家供大家参考,具体如下: 入口文件  文件名 index.php <?php // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True);//开发调试模式 //define('APP_DEB

随机推荐