Как проверить имена файлов с помощью preg_match в PHP?
Имя файла = 2.pdf
Также должно совпадать, если другой файл называется 2-2.pdf
или же 2-3.pdf
,
Это идентификатор перед гипеном. Не нужно проверять .pdf
расширение файла.
$id = 2;
$list = scandir("D:/uploads/");
$list = preg_grep("/^".$id."$/", $list);
foreach ($list as $file)
{
echo $file . "<br />";
}
Как насчет:
/^$id(?:-\d+)?/
Объяснение:
/ : delimiter
^ : begining of strig
$id : the id defined earlier
(?: : begining of non capture group
_ : a dash
\d+ : one or more digits
)? : end of group, optional
/ : delimiter
Использование:
$list = preg_grep("/^$id(?:-\d+)?/", $list);