Това изглежда като работа за glob , който връща масив от имена на файлове, съответстващи на определен шаблон. Наясно съм с другия току-що публикуван отговор, но нека предоставим алтернатива на регулярния израз.
Според горния коментар на страницата с документи, това, което можете да направите, е нещо подобно:
<?php
$dirname = "photos";
$filenames = glob("$dirname/*{380,381,382,383,384,385}*", GLOB_BRACE);
foreach ($filenames as $filename)
{
echo $filename . "<br />";
}
?>
GLOB_BRACE
опции ви позволява да посочите списък със стойности в скоби, а звездичките около тях позволяват на тези числа да се появяват навсякъде в името на файла. След това можете да обхождате върнатия масив и да правите каквото искате с $filename
.
Можете да използвате вашия пример for
цикъл за автоматично изграждане на низ за предаване на glob
.
Ето изхода, когато стартирах това в тестова директория, която направих:
photos/380.zip
photos/asdf382ghj.txt
photos/385.bmp
Имайте предвид, че друг файл, който поставих там, a386b.xlsx
, не съответства на модела и не се появява в списъка.