php利用递归实现删除文件目录的方法

yipeiwu_com6年前PHP代码库

直接删除目录,如果是空目录是可以删除,如果不是空目录,这时候只能先删除目录里面的文件,然后再删除目录。我封装了个删除函数,然后直接调用这个函数。喜欢的可以直接拿去用,编码是gbk的,使用时候注意下编码。

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/9/10 0010
 * Time: 20:27
 */
//删除文件,先删除文件内部的文件,再删除文件夹
header("Content-type: text/html; charset=gbk");
function deldir($dir){
 $dh=opendir($dir);
 while($file=readdir($dh)){
 if($file!="." && $file!=".."){//判断是不是本目录和上级目录
 if(!is_dir($dir."/".$file)){
  unlink($dir."/".$file);
 }else{
  //递归
  deldir($dir."/".$file);
 }
 }
 }
 closedir($dh);
 if(rmdir($dir)){
 return true;
 }else{
 return false;
 }
 }
 //删除函数结束
 if(deldir("test")){
 echo '删除文件成功';
 die();
 }else
 echo '删除文件失败';
 die();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

为大家推荐一个关于php递归操作的精彩专题:php递归操作

相关文章

php5.3中连接sqlserver2000的两种方法(com与ODBC)

1.Com链接,ADODB.Connection 复制代码 代码如下: $conn = new Com("ADODB.Connection"); //实例化一个Connection对象...

PHP策略模式定义与用法示例

PHP策略模式定义与用法示例

本文实例讲述了PHP策略模式定义与用法。分享给大家供大家参考,具体如下: 概述 策略模式属于对象的行为模式。其用意是针对一组算法,将每个算法封装到具有共同接口的独立的类中,从而使得它们可...

关于PHP中协程和阻塞的一些理解与思考

前言 本文主要给大家介绍了关于PHP中协程和阻塞的理解与思考,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 进程、线程、协程 关于进程、线程、协程,有非常详细和丰富的...

php数组操作之键名比较与差集、交集赋值的方法

本文实例讲述了php数组操作之键名比较与差集、交集赋值的方法。分享给大家供大家参考。具体方法如下: 该实例主要实现对数组的各种常见操作。如对键名比较计算数组的差集,计算差集,给指定数组中...

ThinkPHP模板标签eq if 中区分0,null,false的方法

在做项目的时候发现在ThinkPHP的模板标签eq中,对于0、null、false的判断是一样的,也就是说如果变量是这三个值的话就无法区分了,搞的我很郁闷,翻了下官方手册没找到,想想不应...