Как получить список файлов в папке
Короткий ответ
scandir() возвращает имена; служебные . и .. уберите:
<?php
$dir = sys_get_temp_dir() . '/recipe-list';
if (!is_dir($dir)) {
mkdir($dir);
}
file_put_contents($dir . '/a.txt', '');
file_put_contents($dir . '/b.jpg', '');
echo implode(', ', array_diff(scandir($dir), ['.', '..']));Результат:
a.txt, b.jpgТолько нужный тип
glob() ищет по маске и возвращает полные пути:
<?php
$dir = sys_get_temp_dir() . '/recipe-list';
if (!is_dir($dir)) {
mkdir($dir);
}
file_put_contents($dir . '/a.txt', '');
file_put_contents($dir . '/b.jpg', '');
echo implode(', ', array_map('basename', glob($dir . '/*.jpg')));Результат:
b.jpg