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 strcmp使用说明
Apr 22 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
Sep 28 PHP
php通过array_merge()函数合并关联和非关联数组的方法
Mar 18 PHP
PHP网络操作函数汇总
May 18 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
Dec 31 PHP
php抽奖概率算法(刮刮卡,大转盘)
Apr 17 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
解决laravel(5.5)访问public报错的问题
Oct 12 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 PHP
PHP设计模式之命令模式示例详解
Dec 20 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
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
js 分栏效果实现代码
2009/08/29 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
js数组常用最重要的方法
2018/02/04 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
Python的Bottle框架中获取制定cookie的教程
2015/04/24 Python
python实现一组典型数据格式转换
2018/12/15 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
python 解决mysql where in 对列表(list,,array)问题
2020/06/06 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
Django xadmin安装及使用详解
2020/10/26 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
全球立体声:World Wide Stereo
2018/09/29 全球购物
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
《石榴》教学反思
2014/03/02 职场文书
如何写好建议书
2014/03/13 职场文书
意向协议书范本
2014/04/23 职场文书
男女朋友协议书
2014/04/23 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
简爱电影观后感
2015/06/10 职场文书
少先队中队工作总结
2015/08/14 职场文书