Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как получить список файлов в папке

Короткий ответ

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

Функции из этого ответа

  • scandir — Возвращает список файлов и папок в папке.
  • glob — Находит файлы по шаблону имени.
  • is_dir — Проверяет, является ли путь папкой.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.