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+mysql保存和输出文件
Oct 09 PHP
利用php来自动调用不同服务器上的flash
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
PHP PDOStatement::errorInfo讲解
Jan 31 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 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 中英文语言转换类
2011/09/07 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
List Installed Hot Fixes
2007/06/12 Javascript
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
angular实现表单验证及提交功能
2017/02/01 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
JavaScript中的高级函数
2018/01/04 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
通过原生vue添加滚动加载更多功能
2019/11/21 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
python 性能优化方法小结
2017/03/31 Python
实践Vim配置python开发环境
2018/07/02 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
python程序如何进行保存
2020/07/03 Python
python 实现Harris角点检测算法
2020/12/11 Python
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
仓管岗位职责范本
2014/02/08 职场文书
《长征》教学反思
2014/04/27 职场文书
读群众路线的心得体会
2014/09/03 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang