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 UTF-8、Unicode和BOM问题
May 18 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
Jun 10 PHP
深入PHP中慎用双等于(==)的详解
Jun 06 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
php图片的二进制转换实现方法
Dec 15 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
Apr 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
一个捕获函数输出的函数
2007/02/14 PHP
MySql中正则表达式的使用方法描述
2008/07/30 PHP
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
node.js使用nodemailer发送邮件实例
2014/03/10 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
python实现ID3决策树算法
2018/08/29 Python
Python解析json代码实例解析
2019/11/25 Python
jupyter 添加不同内核的操作
2021/02/06 Python
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
外贸业务员岗位职责
2013/11/24 职场文书
户外婚礼策划方案
2014/02/08 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
民政局未婚证明
2015/06/15 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS