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生成UTF8文件的方法
May 15 PHP
php中的常用魔术方法总结
Aug 02 PHP
CI框架中zip类应用示例
Jun 17 PHP
实例介绍PHP的Reflection反射机制
Aug 05 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
PHP多态代码实例
Jun 26 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
zend framework重定向方法小结
May 28 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
PHP rmdir()函数的用法总结
Jul 02 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类
2006/10/09 PHP
珊瑚虫IP库浅析
2007/02/15 PHP
php扩展ZF――Validate扩展
2008/01/10 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
再谈javascript原型继承
2014/11/10 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Python实现ATM系统
2020/02/17 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
2014年圣诞节促销方案
2014/03/14 职场文书
开工典礼策划方案
2014/05/23 职场文书
节约用水标语
2014/06/11 职场文书
大学生实习证明范本
2014/09/19 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
2014年财政所工作总结
2014/11/22 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
道歉信范文
2015/05/12 职场文书
通讯稿范文
2015/07/22 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python