PHP вывод файлов и каталогов директории
- Подробности
- Категория: PHP
- Просмотров: 33243
Часто в PHP нужно вывести все файлы и каталоги в виде списка...это нужно, чтобы нам сразу узнать где у нас, чего и сколько...давайте приступать...
Сегодня saitsozdanie.ru рассмотрит несколько способов:
1 способ) Выводим только файлы с расширением php (например)
$filelist = glob("*.php");
foreach ($filelist as $filename){
echo $filename." и его размер: ".filesize($filename)." байт <br>";
}
Также можно вывести файлы любого расширения txt например и тд. Дело в том, что функция glob() - предназначена для вывода по шаблону. (Если поставить так me* - то будут выводиться все файлы начинающиеся на "me")
2 способ) Выводим все файлы в данной папке:
$path = ".";
$filelist = array();
if($handle = opendir($path)){
while($entry = readdir($handle)){
echo $entry."<br>";
}
closedir($handle);
}
Тут мы используем функции opendir(), для открытия файла...далее можно сразу использовать функцию readdir(), которая шаг за шагом будет считывать по одному файлу и наполнять наш массивчик $filelist, и в конце закрываем открытую папочку с помощью функции closedir(). Если в $path = "." вместо точки поставить files - то будут считываться все файлы из папки по имени files.
3 способ) Задействуем функцию scandir()
Функция scandir() - принимает лишь путь или место, где нужно искать и получает массив с данными, который перебрав можно получить файлы и папки в алфавитном порядке. scandir(".") - будет искать в той же категории, что и сам исполняемый файл.
$path = scandir("files");
foreach($path as $k){
echo $k."<br>";
}
4 способ) использование функции с задействованием цикла for
function nav($dir){
if(is_dir($dir)){
$files = scandir($dir);
array_shift($files); // удаляем из массива '.'
array_shift($files); // удаляем из массива '..'
for($i=0; $i<sizeof($files); $i++){
$len = $files[$i];
echo $len."<br>";
}
}
}
$dir = "files";
nav($dir);
5способ) Ну и напоследок самый верный по мнению многих профессионалов способ для чтения каталога на php:
$dir = "files";
if($handle = opendir($dir)){
while(false !== ($file = readdir($handle))) {
if($file != "." && $file != ".."){
echo $file."<br>";
}
}
}
Какой вам проще выбирайте.
Смотрите также:
Комментарии
Спасибо
RSS лента комментариев этой записи