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 相关文章推荐
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
php mssql 时间格式问题
Jan 13 PHP
php实现jQuery扩展函数
Oct 30 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 PHP
非常全面的php日期时间运算汇总
Nov 04 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
Yii2中SqlDataProvider用法示例
Sep 22 PHP
PHP获取当前日期及本周一是几月几号的方法
Mar 28 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 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
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
克隆一个新项目的快捷方式
2013/04/10 PHP
php图片缩放实现方法
2014/02/20 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
JS实现点击按钮自动增加一个单元格的方法
2015/03/09 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
django中的图片验证码功能
2019/09/18 Python
python实现连连看游戏
2020/02/14 Python
python属于跨平台语言码
2020/06/09 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
初二政治教学反思
2014/01/12 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
《恐龙》教学反思
2014/04/27 职场文书
社区先进事迹材料
2014/05/19 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
学习退步检讨书
2014/09/28 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
个人委托函范文
2015/01/29 职场文书
索尼ICF-5900W收音机测评
2022/04/24 无线电