PHP:如何使用通配符搜索文件

doc*_*doc 9 php search file

我需要用PHP读取一个文件,但我只知道文件名的结尾,所以我需要使用通配符:*filename.wav在给定目录中搜​​索文件,然后将其返回给浏览器.有没有这样做的功能?或者我需要获取目录中的所有文件然后逐个搜索?

感谢所有的评论和帮助.

Yac*_*oby 24

看一下glob()函数

例如,如果您希望*abc.xyz 在子目录中获取每个文件匹配项dir

$matches = glob('./dir/*abc.xyz');
Run Code Online (Sandbox Code Playgroud)

请注意,glob不是递归的,只会搜索单个目录而不是所有子目录.


Pas*_*TIN 5

除了Yacoby 的回答之外,我还想补充一点,GlobIteratorPHP >= 5.3 中已添加一个新类。

它允许人们使用通配符,就像那样glob()——但是,另外:


*[**SPL(标准 PHP 库)**][6] 中有很多有用的东西,但没有人考虑过它们......我无法抗拒。*