PHP unlink与rmdir删除目录及目录下所有文件实例代码


Posted in PHP onFebruary 07, 2018

在php中删除文件与目录其实很简单只要两个函数一个是unlink一个rmdir函数,如果要实现删除目录及目录下的文件我们需要利用递归来操作.

函数代码:仅删除指定目录下的文件,不删除目录文件夹,代码如下:

class shanchu { 
//循环目录下的所有文件 
function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” ) 
{ 
if ( $handle = opendir( “$dirName” ) ) { 
while ( false !== ( $item = readdir( $handle ) ) ) { 
if ( $item != “.” && $item != “..” ) { 
if ( is_dir( “$dirName/$item” ) ) { 
delFileUnderDir( “$dirName/$item” ); 
} else {//开源代码phpfensi.com 
if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”; 
} 
} 
} 
closedir( $handle ); 
} 
} 
}

假设需要删除一个名叫”upload”目录下的所有文件,但无需删除目录文件夹,你可以通过以下代码完成:

<?php delFileUnderDir( ‘upload');?>

php删除所有目录,代码如下:

function deltree($pathdir) 
{ 
echo $pathdir;//调试时用的 
if(is_empty_dir($pathdir))//如果是空的 
{ 
rmdir($pathdir);//直接删除 
} 
else 
{//否则读这个目录,除了.和..外 
$d=dir($pathdir); 
while($a=$d->read()) 
{ 
if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);} 
//如果是文件就直接删除 
if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..')) 
{//如果是目录 
if(!is_empty_dir($pathdir.'/'.$a))//是否为空 
{//如果不是,调用自身,不过是原来的路径+他下级的目录名 
deltree($pathdir.'/'.$a); 
} 
if(is_empty_dir($pathdir.'/'.$a)) 
{//如果是空就直接删除 
rmdir($pathdir.'/'.$a); 
} 
} 
} 
$d->close(); 
echo "必须先删除目录下的所有文件";//我调试时用的 
} 
} 
function is_empty_dir($pathdir) 
{ 
//判断目录是否为空 
$d=opendir($pathdir); 
$i=0; 
while($a=readdir($d)) 
{ 
$i++; 
} 
closedir($d); 
if($i>2){return false;} 
else return true; 
}

PHP删除目录及目录下所有文件,代码如下:

<?php 
//循环删除目录和文件函数 
function delDirAndFile( $dirName ) 
{ 
if ( $handle = opendir( “$dirName” ) ) { 
while ( false !== ( $item = readdir( $handle ) ) ) { 
if ( $item != “.” && $item != “..” ) { 
if ( is_dir( “$dirName/$item” ) ) { 
delDirAndFile( “$dirName/$item” ); 
} else { 
if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item<br />n”; 
} 
} 
} 
closedir( $handle ); 
if( rmdir( $dirName ) )echo “成功删除目录: $dirName<br />n”; 
} 
} 
//假设需要删除一个名叫”upload”的同级目录即此目录下的所有文件,你可以通过以下代码完成: 
delDirAndFile( ‘upload'); 
?>

总结

以上所述是小编给大家介绍的PHP unlink与rmdir删除目录及目录下所有文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP编程网上资源导航
Oct 09 PHP
PHP数组交集的优化代码分析
Mar 06 PHP
php学习之 循环结构实现代码
Jun 09 PHP
php5.5新数组函数array_column使用
Jul 08 PHP
php不写闭合标签的好处
Mar 04 PHP
php中session过期时间设置及session回收机制介绍
May 05 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
php+resumablejs实现的分块上传 断点续传功能示例
Apr 18 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 #PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 #PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 #PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 #PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 #PHP
PHP定义字符串的四种方式详解
Feb 06 #PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 #PHP
You might like
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
基于Jquery的简单&amp;简陋Tabs插件代码
2010/02/09 Javascript
js 异步处理进度条
2010/04/01 Javascript
JQUERY1.6 使用方法四 检测浏览器
2011/11/23 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
用python 制作图片转pdf工具
2015/01/30 Python
Python处理Excel文件实例代码
2017/06/20 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
异常和异常类的概念
2014/09/12 面试题
秘书专业自荐信范文
2013/12/26 职场文书
高中体育教学反思
2014/01/29 职场文书
品质口号大全
2014/06/17 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
教师个人师德总结
2015/02/06 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
一篇文章学会Vue中间件管道
2021/06/20 Vue.js
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
解决Oracle数据库用户密码过期
2022/05/11 Oracle