php创建多级目录与级联删除文件的方法示例


Posted in PHP onSeptember 12, 2019

本文实例讲述了php创建多级目录与级联删除文件的方法。分享给大家供大家参考,具体如下:

创建多级目录

mkdir函数只能创建一级的目录,如果我们想创建多级目录,则需要自己编写函数。

<?php
$path = "one/two/three/four";
function mkdir_p($path,$mode=0700){
  $arr = explode("/",$path);
  $path = '';
  foreach($arr as $v){
    $path .= $v;
    mkdir($path,$mode);
    $path .= "/";
  }
}
mkdir_p($path);

级联删除文件

我们知道PHP中的rmdir函数只能删除空文件夹,unlink只能用来删除文件。

我们可以自己编写函数,级联删除非空文件夹。

<?php
$path = $_SERVER['DOCUMENT_ROOT']."lib";
function rmdir_r($path){
  $handle = opendir($path);
  while($file=readdir($handle)){  //删除所有文件夹
    $type = filetype($path."/".$file);
    if($file=='.'||$file=="..")
      continue;
    if($type=="file"){
      //如果类型为文件,则删除之
      unlink($path."/".$file);
    }
    if($type=="dir"){
      //如果类型为文件夹,则级联删除
      rmdir_r($path."/".$file);
    }
  }
  closedir($handle);
  rmdir($path);
}
rmdir_r($path);

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个简单的PHP入门源程序
Oct 09 PHP
一个改进的UBB类
Oct 09 PHP
用php实现像JSP,ASP里Application那样的全局变量
Jan 12 PHP
php email邮箱正则
Oct 08 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
apache和PHP如何整合在一起
Oct 12 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
PHP实现文件上传后台处理脚本
Mar 04 PHP
PHP实现的文件浏览器功能简单示例
Sep 12 #PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 #PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 #PHP
PHP判断一个变量是否为整数、正整数的方法示例
Sep 11 #PHP
PHP中有关长整数的一些操作教程
Sep 11 #PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 #PHP
Yii框架参数配置文件params用法实例分析
Sep 11 #PHP
You might like
MYSQL环境变量设置方法
2007/01/15 PHP
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
[02:32]DOTA2完美大师赛场馆静安体育中心观赛全攻略
2017/11/08 DOTA
Python实现对字符串的加密解密方法示例
2017/04/29 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
荷兰电脑专场:Paradigit
2018/05/05 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
几道PHP的面试题
2012/05/19 面试题
城市轨道专业个人求职信范文
2013/09/23 职场文书
会计电算化专业个人的自我评价
2013/11/24 职场文书
四群教育工作实施方案
2014/03/26 职场文书
付款委托书范本
2014/04/04 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
红色电影观后感
2015/06/18 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
golang 语言中错误处理机制
2021/08/30 Golang
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
SQL SERVER存储过程用法详解
2022/02/24 SQL Server