Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
ViRus 17.07.2008 15:28 / 17.07.2008 15:32
Есть метод, рекурсивно собирающий информацию о количестве файлов и папок в выбранной папке.@stat[dir][list] ^if(!def $hStat){ $hStat[^hash::create[]] } $list[^file:list[$dir]] ^list.menu{ $name[$dir/$list.name] ^if(-f '$name'){ $hStat.files[^eval($hStat.files+1)] } ^if(-d '$name'){ $hStat.folders[^eval($hStat.folders+1)] ^stat[$name] } } $result[$hStat]Идея такова, чтобы в $result[] класть хеш, содержащий значения $.files и $.folders. Т.е. вызывается таким образом
$folder_info[^stat[/content]] $folder_info.files $folder_info.foldersБез рекурсии все работает, выдает количество файлов и папок 1го уровня. Если включить рекурсию -
hash may not be overwritten with hash, store it to variable insteadС рекурсией, но без $result[$hStat] тоже работает, но не так красиво.