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 相关文章推荐
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
基于PHP CURL获取邮箱地址的详解
Jun 03 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 PHP
php双向队列实例讲解
Nov 17 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/12/05 PHP
PHP 高级课程笔记 面向对象
2009/06/21 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
jquery实现更改表格行顺序示例
2014/04/30 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
2016/05/30 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python验证身份证信息实例代码
2019/05/06 Python
python内存监控工具memory_profiler和guppy的用法详解
2019/07/29 Python
如何用Python来搭建一个简单的推荐系统
2019/08/07 Python
python zip()函数使用方法解析
2019/10/31 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
医学生自我鉴定范文
2013/11/08 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
Python Django模型详解
2021/10/05 Python
python游戏开发Pygame框架
2022/04/22 Python