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
PHP读取目录下所有文件的代码
Jan 07 PHP
第五章 php数组操作
Dec 30 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
Linux下安装oracle客户端并配置php5.3
Oct 12 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
PHP判断函数是否被定义的方法
Jun 21 PHP
PHP实现倒计时功能
Nov 16 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.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
php中用foreach来操作数组的代码
2011/07/17 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
情人节之礼 js项链效果
2012/02/13 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
Python实现简单状态框架的方法
2015/03/19 Python
python判断字符串编码的简单实现方法(使用chardet)
2016/07/01 Python
python操作 hbase 数据的方法
2016/12/18 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
pymysql的简单封装代码实例
2020/01/08 Python
保护环境倡议书
2014/04/14 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
小组名称和口号
2014/06/09 职场文书
家具商场的活动方案
2014/08/16 职场文书
公司离职证明范本(5篇)
2014/09/17 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
论文答谢词
2015/01/20 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers