php创建多级目录与级联删除文件的方法示例
时间:2022-07-27
本文章向大家介绍php创建多级目录与级联删除文件的方法示例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了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常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
- Android Service学习之本地服务
- iOS .pch文件的使用
- CountDownTimer说明及使用
- UiTextField对输入的长度进行限制并提示用户还可输入的长度
- Spring Cloud实战小贴士:turbine如何聚合设置了context-path的hystrix数据
- iOS 查找字符串 相同 子字符串的位置 range
- 自然语言处理指南(第四部分)
- 史上最强Spring mvc入门
- 上边半透明的效果并且显示的是上一页的内容
- Spring Cloud构建微服务架构:Hystrix监控数据聚合【Dalston版】
- android自定义view实现公章效果
- ios app url scheme跳转到淘宝商品详情页 唤醒app
- ThreadPoolExecutor运行机制
- Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 安装RabbitMQ无法访问localhost:15672的管理界面解决
- koa中http服务与websocket服务共享端口
- 第23天:NLP实战(七)——中文新闻主题分类
- Swoole v4.5.3 版本发布
- .NET5.0 单文件发布打包操作深度剖析
- 使用ng-container标签在SAP Spartacus里插入UI
- 自定义SAP Spartacus Cart界面
- 还是只使用console.log()进行调试?好吧,其实还有更多。
- SNMP++: Transport is not supported
- Codeforces Round #666 (Div. 2) A-D
- 深度剖析前端JavaScript中的原型(JS的对象原型)
- dotnet OpenXML 颜色变换
- n维空间的多面体的有向测度和重心
- 只会Vue怎么开发小程序?Vue和微信小程序的到底有哪些区别?
- VBA CreateObject函数如何找到所需要的依赖文件