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之PHP语法学习笔记1
Dec 17 PHP
PHP与SQL注入攻击[二]
Apr 17 PHP
PHP 数组排序方法总结 推荐收藏
Jun 30 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 PHP
基于php-fpm 参数的深入理解
Jun 03 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
迁移PHP版本到PHP7
Feb 06 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
php use和include区别总结
Oct 13 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
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
Ajax 数据请求的简单分析
2011/04/05 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
jquery easyui使用心得
2014/07/07 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
javascript每日必学之循环
2016/02/19 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
vue v-on监听事件详解
2017/05/17 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
python查看模块安装位置的方法
2018/10/16 Python
人工神经网络算法知识点总结
2019/06/11 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
本溪关门山导游词
2015/02/09 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技
Java 多态分析
2022/04/26 Java/Android