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 相关文章推荐
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
php数组一对一替换实现代码
Aug 31 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
PHP数组相关函数汇总
Mar 24 PHP
php正则preg_replace_callback函数用法实例
Jun 01 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
php实现的http请求封装示例
Nov 08 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 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/07/30 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
接收键盘指令的脚本
2006/06/26 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python imread、newaxis用法详解
2019/11/04 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
高校辅导员推荐信范文
2013/12/25 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
生产助理岗位职责
2014/06/18 职场文书
献爱心标语
2014/06/21 职场文书
大学军训心得体会800字
2016/01/11 职场文书
Python图像处理之图像拼接
2021/04/28 Python
使用Django实现商城验证码模块的方法
2021/06/01 Python
详解python网络进程
2021/06/15 Python
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers