php创建和删除目录函数介绍和递归删除目录函数分享


Posted in PHP onNovember 18, 2014

mkdir() — 新建目录

? 语法:bool mkdir (string pathname [,int mode])

? 尝试新建一个由 pathname 指定的目录。

rmdir() — 删除目录
? 语法:bool rmdir ( string dirname )

? 尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。如果成功则返回 TRUE,失败则返回

FALSE。

unlink — 删除文件
? 语法:bool unlink ( string filename )

? 删除 filename。和 Unix C 的 unlink() 函数相似。如果成功则返回 TRUE,失败则返回 FALSE。

在PHP中,使用mkdir()函数只需要传入一个目录名即可很容易地建立一个新目录。但删除目录所使用的函数rmdir(),只能删除一个空目录并且目录必须存在。如果是非空的目录就需要先进入到目录中,使用unlink()函数将目录中的每个文件都删除掉,再回来将这个空目录删除。如果目录中还存在目录,而且子目录也非空,就要使用递归的方法了。自定义递归函数删除目录的程序代码如下所示:

<?php

//自定义函数递归的删除整个目录

function delDir($directory){

    if(file_exists($directory)){      //如果不存在rmdir()函数会出错

        if($dir_handle = @opendir($directory)){       //打开目录,并判断是否能成功打开

            while($filename = readdir($dir_handle)){       //循环遍历目录下的所有文件

               if($filename != "."&& $filename != ".."){       //一定要排除两个特殊的目录

                   $subFile = $directory."/".$filename;       //将目录下的子文件和当前目录相连

                   if(is_dir($subFile))        //如果为目录则条件成立

                   delDir($subFile);       //递归地调用自身函数,删除子目录

                   if(is_file($subFile))      //如果是文件则条件成立

                   unlink($subFile);           //直接删除这个文件

               }

            }

            closedir($dir_handle); //关闭文件资源

            rmdir($directory); //删除空目录

         }

      }

}

 

dirDir("phpMyAdmin"); //调用delDir()函数,将程序所在目录中的“phpMyAdmin”文件删除

?>

当然也可以通过调用操作系统命令“rm-rf”删除非空的目录,但也要从安全和跨平台方面考虑尽量不要去使用。

PHP 相关文章推荐
PHP base64+gzinflate压缩编码和解码代码
Oct 03 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
解析php中两种缩放图片的函数,为图片添加水印
Jun 14 PHP
深入PHP许愿墙模块功能分析
Jun 25 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
php函数式编程简单示例
Aug 08 PHP
laravel框架中视图的基本使用方法分析
Nov 23 PHP
php的无刷新操作实现方法分析
Feb 28 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 #PHP
PHP打开和关闭文件操作函数总结
Nov 18 #PHP
PHP文件读写操作相关函数总结
Nov 18 #PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 #PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
Nov 18 #PHP
PHP文件锁函数flock()详细介绍
Nov 18 #PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
Nov 18 #PHP
You might like
PHP分页函数代码(简单实用型)
2010/12/02 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
php中使用websocket详解
2016/09/23 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
使用python装饰器验证配置文件示例
2014/02/24 Python
Python中的高级数据结构详解
2015/03/27 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
预防传染病方案
2014/06/14 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
迟到检讨书
2015/01/26 职场文书
餐厅服务员管理制度
2015/08/05 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang