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

 更新时间:2015年02月26日 09:31:13   作者:蓝祖生  
这篇文章主要介绍了PHP删除指定目录中的所有目录及文件的方法,通过自定义函数delFile实现递归删除的功能,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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精度计算的问题解析

    这篇文章主要介绍了php精度计算的问题解析,如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如上面 的 echo intval( 0.58*100 );会打印57,而不是58,需要的朋友可以参考下
    2019-06-06
  • PHP中防止SQL注入实现代码

    PHP中防止SQL注入实现代码

    PHP中防止SQL注入实现代码,需要的朋友可以参考下。
    2011-02-02
  • 追求程序速度,而不是编程的速度

    追求程序速度,而不是编程的速度

    在网站建设中,程序运行速度和网页下载速度都是关系成败的重要因素。作为一名Web程序员,应该更加注意代码的运行速度。下面介绍的几种方法都在不同程度上提高了代码的运行速度。
    2008-04-04
  • PHP获取文件相对路径的方法

    PHP获取文件相对路径的方法

    这篇文章主要介绍了PHP获取文件相对路径的方法,通过自定义函数实现获取文件相对路径的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • PHP连接SQL server数据库测试脚本运行实例

    PHP连接SQL server数据库测试脚本运行实例

    这篇文章主要介绍了PHP连接SQL server数据库测试脚本运行实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 过滤掉PHP数组中的重复值的实现代码

    过滤掉PHP数组中的重复值的实现代码

    去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法,下面的代码两种方法都使用了。
    2011-07-07
  • PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明

    PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明

    在看帝国cms的connect.php是发现第一句是error_reporting(E_ALL ^ E_NOTICE);以前也没注意过这个语句,知道是设置错误提示的,但不清楚具体怎样设置使用。下面从网上摘抄了些东西,总结了一下。
    2011-07-07
  • PHP中is_file不能替代file_exists的理由

    PHP中is_file不能替代file_exists的理由

    首先要提出的问题是,is_file真的可以替代file_exists使用吗?答案是否定的。为什么?原因很简单,is_file有缓存
    2014-03-03
  • PHP中curl三种Post请求数据的方式小结

    PHP中curl三种Post请求数据的方式小结

    这篇文章主要给大家介绍了关于PHP中curl三种Post请求数据的方式,在PHP开发的过程中经常需要发送POST请求,POST相比GET要安全很多,而且传输的数据量也较大,需要的朋友可以参考下
    2023-09-09
  • PHP与MYSQL中UTF8编码的中文排序实例

    PHP与MYSQL中UTF8编码的中文排序实例

    这篇文章主要介绍了PHP与MYSQL中UTF8编码的中文排序方法,实例讲述了根据拼音进行排序的方法,需要的朋友可以参考下
    2014-10-10

最新评论