有什么方法可以搜索文件数组以匹配某个字符串吗?
所以我有一个里面有图像的目录,我把它们放在一个变量中 像这样
$images = scandir('directory goes here');
现在我想在图像数组中搜索具有特定名称的图像。 例如,所有名称以' cars_hatchback'。
开头的图像我已经尝试过使用glob功能,但似乎我很快就会出现。
有没有办法实现这个目标? 提前谢谢!
答案 0 :(得分:1)
使用preg_grep搜索带有模式的数组:
$images = scandir('directory goes here');
$result = preg_grep ("/^cars_hatchback.*/", $images);
答案 1 :(得分:1)
使用glob
功能。
例如,如果你有这样的文件夹结构:
folder
|----- autopass2.jpg
|----- autopass3.png
|----- auto_pass2.jpg
|----- otherfile.xml
现在只需使用带有星号的glob
函数:
$result = glob('folder/autopass*');
结果是:
array
(
0 => 'folder/autopass2.jpg'
1 => 'folder/autopass3.png'
)
答案 2 :(得分:1)
glob
可用于查找以特定字符串开头的文件名:
<强> SCANDIR( '汽车'); 强>
Array
(
[0] => .
[1] => ..
[2] => cars_convertible1.jpg
[3] => cars_hatchback1.jpg
[4] => cars_hatchback2.jpg
)
<强>水珠( '汽车/ cars_hatchback *'); 强>
Array
(
[0] => cars/cars_hatchback1.jpg
[1] => cars/cars_hatchback2.jpg
)