【发布时间】:2013-11-26 14:09:51
【问题描述】:
我的服务器上有一个客户上传的图片目录。我需要能够获取与某个字符串或项目代码匹配的所有文件并将它们放入一个数组中。文件名和扩展名总是可以变化的,但每个文件的文件名中总是有一个 8 位数的项目代码。因此,例如在我的目录中说我有:
/images/
62115465.jpg
62115465-02.jpg
62115465-07.jpg
13452766.png
56773392.jpeg
56773392-avatar.jpg
我希望能够提取所有匹配 8 位项目代码的文件,所以:
//all images that have 62115465 in the file name would give me
62115465.jpg
62115465-02.jpg
62115465-07.jpg
//or all images that have 56773392 in the file name would give me
56773392.jpeg
56773392-avatar.jpg
然后希望它们像这样放在一个数组中:
$all_files = array(
'62115465.jpg',
'62115465-02.jpg',
'62115465-07.jpg'
);
我尝试使用下面的glob() 函数,它可以匹配62115465.jpg 之类的一些文件,但没有选择带有-02 和-07 标记的其他2 个文件
$files = glob('62115465.'.*');
【问题讨论】:
-
您是否尝试删除
.? -
这应该会为你排序,
$files = glob('62115465*.*');它会匹配以数字开头的任何内容和任何分机。