php删除该目录下的内容,PHP删除当前目录及其目录下的所有文件

使用PHP遍历一个目录下的所有目录及文件,并删除该目录及其目录下的所有子目录和文件,本次代码通过递归的方式来实现。

用到的函数:

scandir($path) 遍历一个目录下所有文件并返回数组。

unlink($filename) 删除文件。

rmdir($path) 只删除空文件夹。

PHP代码:

/**

* 删除当前目录及其目录下的所有目录和文件

* @param string $path 待删除的目录

* @note $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/'])

*/

function deleteDir($path) {

if (is_dir($path)) {

//扫描一个目录内的所有目录和文件并返回数组

$dirs = scandir($path);

foreach ($dirs as $dir) {

//排除目录中的当前目录(.)和上一级目录(..)

if ($dir != '.' && $dir != '..') {

//如果是目录则递归子目录,继续操作

$sonDir = $path.'/'.$dir;

if (is_dir($sonDir)) {

//递归删除

deleteDir($sonDir);

//目录内的子目录和文件删除后删除空目录

@rmdir($sonDir);

} else {

//如果是文件直接删除

@unlink($sonDir);

}

}

}

@rmdir($path);

}

}

Linux Shell删除某一个目录下的所有文件夹(保留其他文件)

#!/bin/bash direc=$(pwd) for dir2del in $direc/* ; do if [ -d $dir2del ]; then rm -rf $dir2del fi do ...

[No000073]C#直接删除指定目录下的所有文件及文件夹(保留目录)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

java 20 -3 递归之删除特定目录下的特定文件

/* 需求:删除H:\demo目录下的带内容的文件 分析: A:封装该目录 B:获取该目录下所有的文件或文件夹的File数组 C:遍历该File数组,获取每一个File对象 D:判断所遍历的FIle对 ...

python 删除一个目录下的所有文件

一个目录下有文件,文件夹,文件夹里又有文件.文件夹....用python脚本,实现,递归删除一个目录下的所有文件: 目录结构如下: 其中我们要删除所有文件 代码实现如下: import os CUR_ ...

C# 删除指定目录下的所有文件及文件夹

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

linux面试题:删除一个目录下的所有文件,但保留一个指定文件

面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10 十个文件 [root@oldboy xx]# touch ...

SVN 删除所有目录下的“.svn”文件夹,让文件夹脱离SVN控制

SVN 删除所有目录下的“.svn”文件夹,将如下语句拷备到记事本,并保存为 *.reg,双击导入注册表,在文件夹右键中就多了一条“Delete SVN Folders”,点击就可以删处此目录下的所有 ...

C#直接删除指定目录下的所有文件及文件夹(保留目录)

#region 直接删除指定目录下的所有文件及文件夹(保留目录) /// /// 直接删除指定目录下的所有文件及文件夹(保留目录) ///

Linux:删除一个目录下的所有文件,但保留一个指定文件

面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件 [root@oldboy xx]# touc ...

随机推荐

Web 开发中 20 个很有用的 CSS 库

转自:http://www.oschina.net/translate/css-libraries-for-developers 在过去的几年中,CSS已经成为一大部分开发者和设计者的最爱,因为它提供 ...

Java-transient

transient的作用及使用方法 都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这 ...

"NO 3D support is available from the host"

https://forums.opensuse.org/showthread.php/494522-No-3d-Support-or-graphics-accelleration http://ask ...

什么是IT

这个是同事总结的,我补充了若干项,算不上原创,但这个没有在其他地方看到,在这儿权且当原创了.后面再配个软件架构图吧.看到缺的同学能够补充 什么是IT:Information-信息Technology- ...

python邮件SMTP的GUI编程

写的是python中smtp的gui编程,用的163邮箱给qq邮箱发送邮件做测试,如果你发现你的发送失败,试着用以下方法解决: 1.网页登陆你的邮箱,设置中查看smtp是否开启,比如163邮箱的smt ...

[LeetCode] Strange Printer 奇怪的打印机

There is a strange printer with the following two special requirements: The printer can only print a ...

web.1

 毛哥调 ...

python学习笔记----面向对象

面向对象 类:成员变量(属性) 方法(操作成员变量) 出一个场景:玩过游戏.主人公,进入了一个场景,有10个小怪物是一样的.有攻击力,血(100格).如果小怪物有多个数值需要管理,小怪物的血量.小怪物 ...

GraphQL入门1

1. 资源: 主站: https://graphql.org/ 中文站: http://graphql.cn 入门视频: https://graphql.org/blog/rest-api-graph ...

精华 selenium_webdriver(python)调用js脚本

#coding=utf-8 from selenium import webdriver import time driver = webdriver.Firefox() driver.get(&qu ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值