php递归删除文件,php 递归删除文件夹

这篇博客介绍了如何在PHP中实现递归删除文件夹及其包含的子文件和子文件夹的两种方法。通过`delAll`和`del_dir`函数展示了如何遍历目录并删除所有内容,最后清理掉空的父目录。这些方法对于需要彻底清理目录结构的场景非常实用。
摘要由CSDN通过智能技术生成

/***

递归删除文件

方法一

param $path 文件路径

**/

function delAll($path){

$path=str_replace('\\','/',$path);//去除反斜杠

if(!is_dir($path)){

return "dir is not exists !";

}

$adir=scandir($path);

foreach($adir as $k=>$v){

if($v!="."&&$v!=".."){

if(is_dir($path."/".$v)){

delAll($path."/".$v);

@rmdir($path."/".$v);

}else{

@unlink($path."/".$v);

}

}

}

@rmdir($path);

}

$path="D:\WWW\phpyun";

delAll($path);

//方法二

function del_dir($dir) {

if (!is_dir($dir)) {

return false;

}

$handle = opendir($dir);

while (($file = readdir($handle)) !== false) {

if ($file != "." && $file != "..") {

is_dir("$dir/$file") ? del_dir("$dir/$file") : @unlink("$dir/$file");

}

}

if (readdir($handle) == false) {

closedir($handle);

@rmdir($dir);

}

}

【File】递归删除文件夹中子级文件/夹,并删除文件夹

今天有这样一个需求,需要删除某一个文件夹,但是文件夹中还有子级的文件 或者还可能会有文件夹在里面,所以就需要使用一个简单的递归才能将文件夹删除成功,包括文件夹中的子级文件/夹.!!! 其实很简单,就一 ...

【转载】C#递归删除文件夹目录及文件

在C#文件操作过程中,有时候需要删除相应目录,如果文件夹中含有其他文件夹或者文件,也需要一并进行删除,此时可能就需要使用递归来删除文件夹目录以及文件,递归过程中,如果遍历的对象是文件夹,则删除文件夹, ...

java递归删除文件夹

递归删除文件夹 public static void delete(File file) { if(!file.exists()){ return; } if(file.isFile() || fil ...

C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....

本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下 面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内 ...

C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw ...

php递归删除文件夹

php递归删除文件夹

 public function deldir($path) { //如果是目录则继续 if (is_dir($path)) { //扫描一个文件夹内的所有 ...

mfc递归删除文件夹

BOOL myDeleteDirectory(CString directory_path) //删除一个文件夹下的所有内容 { BOOL ret=TRUE; CFileFind finder; CS ...

[代码应用]javaSE程序递归删除文件夹下的.bak文件程序源代码

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39158939 本文作者:sushengmiyan ------------------ ...

随机推荐

C#中的多态性

1.重载(overload) public void Sleep() { Console.WriteLine("Animal睡觉"); } public int Sleep(int ...

使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)

假如你有一个购物类的网站,那么你如何给你的客户来推荐产品呢?这个功能在很多电商类网站都有,那么,通过SQL Server Analysis Services的数据挖掘功能,你也可以轻松的来构建类似的功 ...

jQuery .css color 重写 :hover样式没了

$("#quickSqlDiv a").css({"color":"red"}); $("#course a").css ...

ANE 从入门到精通 --- 简单的Whatever

Flash还是很好的,不过国内没人用. Whatever了. 以下是ANE制作中的一点笔记 分享下 也留作备份 Step1 编写As3 Library package com.eran { impor ...

转载:有关SQL server connection Keep Alive 的FAQ(2)

转: http://blogs.msdn.com/b/apgcdsd/archive/2012/05/18/sql-server-connection-keep-alive-faq-2.aspx 在下 ...

简单的自绘CListBox,重载虚MeasureItem和DrawItem这两个虚函数

[cpp] view plain copy //例如CNewListBox继承自CListBox,重载虚MeasureItem和DrawItem这两个虚函数,代码如下: void CNewListBo ...

$_GLOBALS超全局数组和global定义的全局变量区别?

全局变量:主程序中定义的变量(函数外部),只能在主程序中使用,在函数内部不能调用 背景:解决在函数内部调用全局变量的问题 解决方法: 1.在函数内部声名全局变量 <?php public $va ...

用VIM删除空行

从网上找了一个 :g/^s*$/d 开始用的挺好,后来遇到一种空格开头的空行,就不好用了. MSDN上说正则匹配空行用/^\s*$/,就试着把上面的命令改为: :g/^\s*$/d 就可以了. 用的操 ...

Android 开发笔记 &OpenCurlyDoubleQuote;线程交互(Handler&plus;Thread 和 AsyncTask)”

为什么需要线程 假设需要开发一个联网应用程序,需要从一个网址抓取网页内容,这里读取的网页地址是笔者在本地机器上自己建立的服务器地址.当然在读取网页内容的时候,可以使用HttpClient提供的API, ...

获取table表格的一些不为人知的属性

JS获取表格的简便方法:获取tbody:tBodies   获取thead:tHead   获取tfoot:tFoot   获取行tr:rows   获取列td:cells 使用实例: oTable. ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值