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代码
Apr 09 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
Zend的Registry机制的使用说明
May 02 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
php注册登录系统简化版
Dec 28 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
Nov 20 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 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 取得瑞年与平年的天数的代码
2009/08/10 PHP
php实现首页链接查询 友情链接检查的代码
2010/01/05 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
Js面试算法详解
2018/04/08 Javascript
python命令行参数sys.argv使用示例
2014/01/28 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
详解Python的三种可变参数
2019/05/08 Python
在python中实现调用可执行文件.exe的3种方法
2019/07/07 Python
Python画图高斯分布的示例
2019/07/10 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
django 多数据库及分库实现方式
2020/04/01 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
GetYourGuide台湾:预订旅游活动、景点和旅游项目
2019/06/10 全球购物
人力资源管理专业学生自我评价
2013/11/20 职场文书
专科毕业生自我鉴定
2013/12/01 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
安全责任书怎么写
2014/07/28 职场文书
长城导游词400字
2015/01/30 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
防震减灾主题班会
2015/08/14 职场文书
mysql全面解析json/数组
2022/07/07 MySQL