本日我们从最大略的形式谈论,但目录下的操作

学习韶光

我们说PHP是一个函数库绝不为过,由于针对各种功能,它都封装了许多内置的函数,拿来用就可以了。
而文件目录操作函数,我们推举利用glob。

该函数的参数形式:

php删除文件3分钟短文  PHP 删除目次下所有的文件这3种写法哪个有bug NoSQL

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 :_)

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