Статья: Представление в Internet содержимого каталога средствами ASP
В этой статье я на примере расскажу, как используя ASP (Active Server Pages) можно построить содержимое каталога Web аналогично тому, как это выглядит на FTP сервере.
Постановка задачи: На Web-сервере есть каталог, например: C:\InetPub\wwwroot\user1. Пусть данный каталог имеет несколько вложенных каталогов и набор файлов в этих каталогах. Примерная структура папок представлена на Рис. 1.
Рис. 1.
В каждом из представленных на рисунке каталогах может находиться неограниченное количество файлов, либо некоторые из каталогов могут быть пустыми. Необходимо представить содержимое папки user1 на Web-странице в дружественном для пользователя виде.
Интересной особенностью скрипта является то, что применяя страницу с фреймами (кадрами), можно построить меню пользователя.
Результат должен выглядеть примерно следующим образом:
Находимся в папке C:\Inetpub\wwwroot\user1\folder1\subfolder2:
На данном скриншоте показан пример меню. Страница menu.htm разделена на два фрейма. В левом фрейме находится файл list_files.asp, а правый фрейм используется для отображения файлов, ссылки на которые находятся в левом фрейме. В левом фрейме можно свободно перемещаться по папкам. Т.о. можно организовать меню пользователя.
Решение: Ключ к решению данной задачи - это использование MicrosoftR Scripting Library. Нас будет интересовать такой объект этой библиотеки, как FileSystemObject. FileSystemObject предоставляет объектную модель доступа к файловой системе. Далее, пользуясь средствами языка написания сценариев VBScript, выполняемого на Web-сервере, можно написать одну ASP-страницу, которая будет выполнять всю работу. Итак, приступим.
Листинг файла list_files.asp:
<%Response.Expires=0%> 'Отключаем кэширование страницы <HTML> <BODY> <!-Серверныйсценарий <% Dim root_folder, root_vfolder, curr_dir, curr_dir2, temp_arr 'root_folder - переменная для хранения физического пути к корневой папке USER1 root_folder = "c:\inetpub\wwwroot\user1" 'root_vfolder - переменная для хранения виртуального пути к папке USER1 'localhost - имя Вашего сервера root_vfolder = "http://localhost/user1" 'curr_dir2 - имя текущей (активной) папки curr_dir2 = Request.QueryString("dir") 'Имяполучаемиз URL 'curr_dir - полный физический путь к текущей папке. Получается конкатенацией строк, 'содержащихся в переменных root_folder и curr_dir2. curr_dir = root_folder & curr_dir2 'temp_arr - временный массив 'Получаем массив, содержащий названия каталогов текущей папки. temp_arr = ShowDirList(curr_dir) --> ЧИТАТЬ ПОЛНОСТЬЮ <-- К-во Просмотров: 306
Бесплатно скачать Статья: Представление в Internet содержимого каталога средствами ASP
|