【发布时间】:2014-01-02 23:22:20
【问题描述】:
而不是列出所有文件和目录
foreach(glob("/*") as $file) {
...
}
有没有办法过滤 *.txt 文件和目录?因为有了这个例子
foreach(glob("/*.txt") as $file) {
...
}
只会得到 *.txt 文件,而不是目录。但是要仅列出目录,这将起作用:
foreach(glob("/*", GLOB_ONLYDIR) as $file) {
...
}
但会忽略 *.txt 文件。我试图避免在读取目录后使用 preg_match() 或类似操作,因为如果有大约 5000 个不必要的文件(带有 *.jpg、*.png 的图像文件),它将浪费服务器资源。
谢谢。
【问题讨论】:
-
为什么不调用
glob()两次,然后在解析前合并结果数组? -
是的,可以选择。但想知道是否可以一次性完成。谢谢!
-
@user702300 您如何区分名为
foo的文件和名为foo的目录。我认为您需要使用两个函数,一个获取所有目录,另一个获取特定文件。 -
@HamZa 对于文件,我只对 *.txt 感兴趣,直接,任何名称,谢谢!