PHP删除指定目录中的所有目录及文件的方法


Posted in PHP onFebruary 26, 2015

本文实例讲述了PHP删除指定目录中的所有目录及文件的方法。分享给大家供大家参考。具体实现方法如下:

<?php
/*
 * 
 * 删除指定目录中的所有目录及文件(或者指定文件)
 * 可扩展增加一些选项(如是否删除原目录等)
 * 删除文件敏感操作谨慎使用
 * @param $dir 目录路径
 * @param array $file_type指定文件类型
 */
function delFile($dir,$file_type='') { 
  if(is_dir($dir)){
    $files = scandir($dir);
 //打开目录 //列出目录中的所有文件并去掉 . 和 .. 
    foreach($files as $filename){
      if($filename!='.' && $filename!='..'){
        if(!is_dir($dir.'/'.$filename)){
          if(empty($file_type)){
            unlink($dir.'/'.$filename);
          }else{
            if(is_array($file_type)){
              //正则匹配指定文件
              if(preg_match($file_type[0],$filename)){
                unlink($dir.'/'.$filename);
              }
            }else{
              //指定包含某些字符串的文件
              if(false!=stristr($filename,$file_type)){
                unlink($dir.'/'.$filename);
              }
            }
          }
        }else{ 
          delFile($dir.'/'.$filename);
          rmdir($dir.'/'.$filename);
        } 
      }
    }
  }else{
    if(file_exists($dir)) unlink($dir);
  } 
}
delFile(dirname(__FILE__),'html');

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php中数据的批量导入(csv文件)
Oct 09 PHP
ajax+php打造进度条代码[readyState各状态说明]
Apr 12 PHP
用PHP解决的一个栈的面试题
Jul 02 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
Nov 21 PHP
Laravel中为什么不使用blpop取队列详析
Aug 01 PHP
php设计模式之职责链模式定义与用法经典示例
Sep 19 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 09 PHP
php 文件上传至OSS及删除远程阿里云OSS文件
Jul 04 PHP
PHP获取文件相对路径的方法
Feb 26 #PHP
CentOS安装php v8js教程
Feb 26 #PHP
php设计模式之单例模式实例分析
Feb 25 #PHP
PHP实现一维数组转二维数组的方法
Feb 25 #PHP
PHP中字符安全过滤函数使用小结
Feb 25 #PHP
PHP 魔术变量和魔术函数详解
Feb 25 #PHP
PDO防注入原理分析以及注意事项
Feb 25 #PHP
You might like
PHP学习记录之数组函数
2018/06/01 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
javascript 面向对象编程基础 多态
2009/08/21 Javascript
javascript GUID生成器实现代码
2009/10/31 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
Vue中的nextTick作用和几个简单的使用场景
2021/01/25 Vue.js
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
python的数学算法函数及公式用法
2020/11/18 Python
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
商务英语专业求职信范文
2014/01/28 职场文书
车间统计员岗位职责
2015/04/14 职场文书
研讨会致辞
2015/07/31 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
Python利用capstone实现反汇编
2022/04/06 Python
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers