| Новости | 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] тоже работает, но не так красиво.