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

yipeiwu_com5年前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递归操作

相关文章

php关联数组与索引数组及其显示方法

数据 username password test 123456 关联数组: mysql_fetch_assoc() array([username]=>'test...

初次接触php抽象工厂模式(Elgg)

想实现这样一个功能:开展一个网站邀请活动,然后参与者(owner)将推广的网站地址链接发给好友,好友点击链接后在网站注册成功,owner的邀请日志记录条数加1。 活动类 Activity...

PHP的Yii框架中View视图的使用进阶

视图名 渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活, 我们称用名字的视图为 视图名. 视图名可以依据以下规则到对应的视图文件路径: 视图名可省...

浅析使用Turck-mmcache编译来加速、优化PHP代码

php_screw确实很不错,但是只能起到加密的作用,并没有加速和优化的作用。下面我们来看看:Turck MMCache它的作用是通过对php代码的编译来加速、优化php代码,我们如果发...

PHP函数rtrim()使用中的怪异现象分析

本文实例讲述了PHP函数rtrim()使用中的怪异现象。分享给大家供大家参考,具体如下: 今天用rtrim()函数时遇到了一个奇怪的问题: echo rtrim('<p>...