PHP利用一行代码删除目录下所有文件方法示例

前言

想必很多人都会写几行甚至几十行代码使其列出所有文件变为数组进行删除,但是glob函数分分钟解决问题!下面来一起看看详细的介绍吧。

glob语法说明:

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

glob() 函数依照 libc glob() 函数使用的规则寻找所有与 pattern 匹配的文件路径,类似于一般 shells 所用的规则一样。不进行缩写扩展或参数替代。glob使用正则匹配路径功能强大。

flags 有效标记有:

  • GLOB_MARK – 在每个返回的项目中加一个斜线
  • GLOB_NOSORT – 按照文件在目录中出现的原始顺序返回(不排序)
  • GLOB_NOCHECK – 如果没有文件匹配则返回用于搜索的模式
  • GLOB_NOESCAPE – 反斜线不转义元字符
  • GLOB_BRACE – 扩充 {a,b,c} 来匹配 ‘a’,’b’ 或 ‘c’
  • GLOB_ONLYDIR – 仅返回与模式匹配的目录项
  • GLOB_ERR – 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

例子 1

1
2
3
<?php
print_r(glob("*.txt"));
?>

输出类似:

1
2
3
4
5
6
7
Array
(
[0] => target.txt
[1] => source.txt
[2] => test.txt
[3] => test2.txt
)

例子 2

1
2
3
<?php
print_r(glob("*.*"));
?>

输出类似:

1
2
3
4
5
6
7
8
9
10
11
12
13
Array
(
[0] => contacts.csv
[1] => default.php
[2] => target.txt
[3] => source.txt
[4] => tem1.tmp
[5] => test.htm
[6] => test.ini
[7] => test.php
[8] => test.txt
[9] => test2.txt
)

删除目录下所有文件

1
array_map('unlink', glob('*'));

原文链接:https://segmentfault.com/a/1190000012771495

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容