【发布时间】:2011-02-03 11:22:08
【问题描述】:
我需要在 PHP 中读取文件,但我只知道文件名的结尾,所以我需要使用通配符在给定目录中搜索文件:*filename.wav,然后将其返回给浏览器。 有这样做的功能吗?还是我需要把目录下的所有文件都拿到,然后一一搜索?
感谢所有 cmets 和帮助。
【问题讨论】:
我需要在 PHP 中读取文件,但我只知道文件名的结尾,所以我需要使用通配符在给定目录中搜索文件:*filename.wav,然后将其返回给浏览器。 有这样做的功能吗?还是我需要把目录下的所有文件都拿到,然后一一搜索?
感谢所有 cmets 和帮助。
【问题讨论】:
看看glob()函数
例如,如果您想在子目录dir 中获取与*abc.xyz 匹配的每个文件
$matches = glob('./dir/*abc.xyz');
请注意,glob 不是递归的,只会搜索单个目录而不是所有子目录。
【讨论】:
除了Yacoby's answer,我想补充一点,PHP >= 5.3 中添加了一个新的 GlobIterator 类。
它允许使用通配符,就像glob() 一样——但是,另外:
Iterator 接口SplFileInfo 类的实例
SPL (Standard PHP Library) 里有这么多有用的东西,却没有人想到它们……我无法抗拒。
【讨论】: