Данная функция рекурсивно сканирует заданную папку и все вложенные в неё папки. На выходе выводит список файлов и если нужно размеры этих файлов. При желании довольно легко можно изменить данную функцию под свои нужды.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php // $dir - Directory for scaning [path] // $separator - outlines separator [string] // $filesize - file sizes in bytes [boolean] function filelist($dir,$separator,$filesize=FALSE){ function GetDirFilesR($dir){ $dir_iterator = new RecursiveDirectoryIterator($dir); $iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST); return $iterator; } $scaner = GetDirFilesR($dir); foreach($scaner as $v){ if($v->isFile()){ if($filesize===TRUE){ $fs = "|".filesize($v); } echo $v.$fs.$separator; } } } $dir = $_SERVER['DOCUMENT_ROOT']; // Укажем ту папку в которой находится данный скрипт filelist($dir,"\r\n",TRUE); |