Example #1
0
 static function getFileList($dir, $recurse = false)
 {
     // массив, хранящий возвращаемое значение
     $retval = array();
     // добавить конечный слеш, если его нет
     if (substr($dir, -1) != "/") {
         $dir .= "/";
     }
     // указание директории и считывание списка файлов
     $d = @dir($dir) or die("getFileList: Не удалось открыть каталог {$dir} для чтения");
     while (false !== ($entry = $d->read())) {
         // пропустить скрытые файлы
         if ($entry[0] == ".") {
             continue;
         }
         if (is_dir("{$dir}{$entry}")) {
             $retval[] = "{$dir}{$entry}";
             if ($recurse && is_readable("{$dir}{$entry}/")) {
                 $retval = array_merge($retval, FileList::getFileList("{$dir}{$entry}/", true));
             }
         } elseif (is_readable("{$dir}{$entry}")) {
             $retval[] = "{$dir}{$entry}";
         }
     }
     $d->close();
     return $retval;
 }