首页 >

PHP删除目录下所有的文件 – PHP基础 – 前端,php ras

php 浏览器宽度,php服务器主动发送,树表 php js,php => 什么意思,php函数传参个数,php session权限,phpexcel 默认边框,php 模拟shell,php rasPHP删除目录下所有的文件 - PHP基础 - 前端,php ras

引言

作为服务器端编程语言,PHP当然具备了操作系统文件的能力。今天大家来说一下使用PHP如何删除某个目录下的所有文件。

今天大家从最简单的形式讨论,但目录下的操作。

学习时间

大家说PHP是一个函数库毫不为过,因为针对各种功能,它都封装了许多内置的函数,拿来用就可以了。而文件目录操作函数,大家推荐使用glob。

该函数的参数形式:

array glob( string $pattern[, int $flags = 0] )

用于寻找与模式匹配的文件路径。使用起来代码应该是这样的:

首先使用 glob 模式匹配出目录下所有文件,这会返回一个数组。然后遍历,再使用 is_file 函数判定是否文件类型,如果是则调用 unlink 函数删除。

逻辑大概就是这样子。在Linux操作系统下,上面的模式扫描不出来隐藏文件。如果要把隐藏文件扫描出来,需要修改一下匹配模式如下:

遍历和文件类型判断逻辑相同。

极简主义

大家知道解决问题,不会是一种单一的办法,大家总是有很多方式实现同样的需求。那么对于上述的代码,对于强迫症同学来说,还是写的有些拖沓了,要是一行能搞定就好了。

真的可以一样搞定。大家借助于PHP的内置函数遍历操作函数 array_map 可以轻松实现。代码如下:

是不是少了很多手动造轮子的粗糙感。但是,这个函数缺少了 is_file 判断,是有一定风险的。特别是回调使用 unlink 这样的删除操作,尤其需要注意。

把 glob 函数的返回值使用 (array) 进行强制类型转换,是为了防止出现返回 false,不能直接传递到 array_filter 进行过滤的缘故。

面向对象

写惯了JAVA的同学应该对类库的方法操作严重依赖不能自拔,PHP也是有配套OOP方法的,只是大家用的太少,没有系统地学习罢了。下面提贴出来一个 OOP 风格的代码来解决这个问题。

不做解释,因为用的太少。为什么?因为看看 $di $ri 对象实例的操作,还有最后 rmdir unlink 的函数操作,你终究明白,要做到真正的面向对象,还差得远呢!

共同努力吧~~

写在最后

很令人伤心,本想提供一个OOP的实现,还是被迫用了函数方法,大家已经尽力了。整体而言,函数操作和函数操作,更适合PHP流程处理。

Happy coding :_)

偶是 @程序员小助手 ,持续分享编程知识,欢迎关注。

php 浏览器宽度,php服务器主动发送,树表 php js,php => 什么意思,php函数传参个数,php session权限,phpexcel 默认边框,php 模拟shell,php rasPHP删除目录下所有的文件 - PHP基础 - 前端,php ras


PHP删除目录下所有的文件 - PHP基础 - 前端,php ras
  • php数据连接教程,php留言本怎么把代码连接在一起 - PHP基础 - 前端,php一句话木马2017
  • php数据连接教程,php留言本怎么把代码连接在一起 - PHP基础 - 前端,php一句话木马2017 | php数据连接教程,php留言本怎么把代码连接在一起 - PHP基础 - 前端,php一句话木马2017 ...

    PHP删除目录下所有的文件 - PHP基础 - 前端,php ras
  • 大数据分析的前景好不好 - PHP基础 - 前端,php predis特殊字符
  • 大数据分析的前景好不好 - PHP基础 - 前端,php predis特殊字符 | 大数据分析的前景好不好 - PHP基础 - 前端,php predis特殊字符 ...

    PHP删除目录下所有的文件 - PHP基础 - 前端,php ras
  • 智能光电与纳米技术是干什么的 - PHP基础 - 前端,个人网站源码 php整站下载
  • 智能光电与纳米技术是干什么的 - PHP基础 - 前端,个人网站源码 php整站下载 | 智能光电与纳米技术是干什么的 - PHP基础 - 前端,个人网站源码 php整站下载 ...