Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
agat 18.11.2002 16:32 / 18.11.2002 16:33
Это метод, при вызове которого формируется древовидная структура сайта, начиная с корневого каталога@getfiles[] $dir[/] $search[^file:list[$dir]] ^if($search){ ^search.menu{ $str[$search.name] #здесь мы говорим, чтобы выводились только .html файлы. Папки admin,classes и i считаются системными - их не выводим ^if(^str.match[\.html^$] || !^str.match[\.] && !^str.match[^^admin^$] && !^str.match[^^i^$] && ! ^str.match[^^classes^$]){ ^if(!^str.match[\.]){ <ul> $search.name<br> #в случае с папкой выводим её содержимое. Получается рекурсия. ^getsub[${dir}${str}] </ul> }{ $search.name #а здесь я не знал, что вывести, и остановился просто на размере файла $f[^file::load[text;${dir}${str}]] $f.size<br> } } } } @getsub[subdir] #метод рекурсии просмотра содержимого очередной папки $subs[^file:list[$subdir/]] ^if($subs){ ^subs.menu{ $str[$subs.name] ^if(^str.match[\.html^$] || !^str.match[\.]){ ^if(!^str.match[\.]){ <li>$subs.name <ul> $subdir[${subdir}/${str}] ^getsub[$subdir] </ul> }{ <li>$subs.name $f[^file::load[text;${subdir}/${str}]] $f.size } } } }код писался давно, тогда я мог многого не знать. Поэтому за спортивность кода не ручаюсь. В крайнем случае - можете его доработать.