PHP删除非空目录的函数代码小结


Posted in PHP onFebruary 28, 2013

有了这个小程序,PHPer就不用手动进行删除计算机上的目录文件了,在练习PHP目录文件操作时就可以用这个函数,在这个基础上还可以增加浏览文件夹目录,然后进行删除。

代码一:

<?php 
function d_rmdir($dirname) {   //删除非空目录 
if(!is_dir($dirname)) { 
return false; 
} 
$handle = @opendir($dirname); 
while(($file = @readdir($handle)) !== false){ 
if($file != '.' && $file != '..'){ 
$dir = $dirname . '/' . $file; 
is_dir($dir) ? d_rmdir($dir) : unlink($dir); 
} 
} 
closedir($handle); 
return rmdir($dirname) ; 
} 
if(d_rmdir("./temp")) 
 echo "succes"; 
else 
 echo "false"; 
?>

第二个是从手册中翻出来的:)

代码二:

<?php
 
functionremove_directory($dir){
 if($handle=opendir("$dir")){
 while(false!==($item=readdir($handle))){
if($item!="."&&$item!=".."){

 if(is_dir("$dir/$item")){


remove_directory("$dir/$item");

 }else{


unlink("$dir/$item");


echo"removing$dir/$item<br> ";

 }

}
 }
 closedir($handle);
 rmdir($dir);
 echo"removing$dir<br> ";
 }
}

第三个是codebit.cn上面收集的,还是手册里的好

代码三:

functionremoveDir($dirName)
{
if(!is_dir($dirName))

{


returnfalse;

}

$handle=@opendir($dirName);

while(($file=@readdir($handle))!==false)

{


if($file!='.'&&$file!='..')


{



$dir=$dirName.'/'.$file;



is_dir($dir)?removeDir($dir):@unlink($dir);


}

}

closedir($handle);


returnrmdir($dirName);
}
?>
PHP 相关文章推荐
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Jan 27 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
深入php内核之php in array
Nov 10 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
php数据访问之查询关键字
May 09 PHP
php技巧小结【推荐】
Jan 19 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
php+Ajax无刷新验证用户名操作实例详解
Mar 04 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
php传值和传引用的区别点总结
Nov 19 PHP
PHP生成随机用户名和密码的实现代码
Feb 27 #PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 #PHP
PHP和.net中des加解密的实现方法
Feb 27 #PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 #PHP
php数组的概述及分类与声明代码演示
Feb 26 #PHP
浅谈apache和nginx的rewrite的区别
Feb 22 #PHP
php并发对MYSQL造成压力的解决方法
Feb 21 #PHP
You might like
如何开始收听短波广播
2021/03/01 无线电
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
python使用json序列化datetime类型实例解析
2018/02/11 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
python代码区分大小写吗
2020/06/17 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
2014社区三八妇女节活动总结
2014/03/01 职场文书
国际金融专业自荐信
2014/07/05 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
党风廉正建设责任书
2015/01/29 职场文书
简单的辞职信模板
2015/05/12 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
golang语言指针操作
2022/04/14 Golang
如何利用python实现列表嵌套字典取值
2022/06/10 Python