PHP получить список файлов в папке (директории) - пример - имена, размер и другая доп. информация
Primary tabs
Прежде всего можно использовать функцию scandir(), на базе которой можно создать различные пользовательские функции:
/** * Вернёт массив, содержащий имена файлов из указанной директории * (содержащиеся директории будут проигнорированы) * * @param string $dirpath - путь к диретории * @return array - массив имён файлов */ function getSimpleFilesList($dirpath) { $result = array(); $cdir = scandir($dirpath); foreach ($cdir as $value) { // если это "не точки" и не директория if (!in_array($value,array(".", "..")) && !is_dir($dirpath . DIRECTORY_SEPARATOR . $value)) { $result[] = $value; } } return $result; } /** * Вернёт многомерный массив, содержащий имена файлов из указанной директории * (содержащиеся директории будут проигнорированы) * + дополнительные сведения о каждом файле (в частности размер) * * @param string $dirpath - путь к диретории * @return array - массив имён файлов */ function getSimpleFilesListWithAddInfo($dirpath) { $result = array(); $cdir = scandir($dirpath); $i = 0; foreach ($cdir as $value) { // если это "не точки" и не директория if (!in_array($value,array(".", "..")) && !is_dir($dirpath . DIRECTORY_SEPARATOR . $value)) { $result[$i]['name'] = $value; $result[$i]['size'] = filesize($dirpath . DIRECTORY_SEPARATOR . $value); $i++; } } return $result; }
где getSimpleFilesListWithAddInfo() возвращает данные в виде:
array(3) { [0]=> array(2) { ["name"]=> string(14) "78398_1000.jpg" ["size"]=> int(247187) } [1]=> array(2) { ["name"]=> string(8) "Aam.jpg" ["size"]=> int(1228572) } [2]=> array(2) { ["name"]=> string(19) "allfons.ru-3018.jpg" ["size"]=> int(496852) } }
- Log in to post comments
- 14016 reads