PHP: How to search a file using wildcards
I need to read a file in PHP, but I only know the end of the filename, so I need to serch the file in a given directory using wildcards: *filename.wav and then return it to开发者_如何学Python the browser. Is there a function to do that? or I need to get all the files in the directory and then search one by one?
Thanks for all the comments and help.
Take a look at the glob() function
For example if you wanted to get every file matching *abc.xyz
in the subdirectory dir
$matches = glob('./dir/*abc.xyz');
Note that glob isn't recursive and will only search a single directory and not all sub directories.
In addition to Yacoby's answer, I would like to add that a new GlobIterator
class has been added to PHP >= 5.3.
It allows one to use wildcards, the same way as glob()
does -- but, in additional :
- Tt implements the
Iterator
interface - You can have it work returning instance of the
SplFileInfo
class
So many useful things in the SPL (Standard PHP Library), and no-one ever thinking about them... I couldn't resist.
精彩评论