Представление в 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:
     'Отключаем кэширование страницы                                
    ' строка2.
    If StrComp(CStr(arr(i)), CStr(arr(j)), vbTextCompare) < 0 Then
    t = arr(j)
    arr(j) = arr(i)
    arr(i) = t
    End If
    Next
    Next
    'Возвращаем результат
    SortStr = arr
    End Function     
    Sub Main_Print(arr,flag)
    'flag = 1 - вывод для каталогов
    'flag = 0 - вывод для файлов
    Dim i,k,tmp 
    i = 0 
    Select Case flag
    Case 1 
    'Если находимся в подкаталоге, то надо предусмотреть возможность вернуться 
    'на уровень выше 
    If curr_dir2 "" Then
    'Ищем последнее вхождение символа разделителя каталогов "\"
    k = InStrRev(curr_dir2,"\")
    If k 0 Then
    'Получаем имя каталога верхнего уровня
    tmp = Mid(curr_dir2,1,k-1)
    Response.Write "" 'Вывод HTML
    'Для украшения используем графический файл open.gif - изображение открытой папки.
    Response.Write ""
    'Формируем ссылку на верхний каталог
    Response.Write "
" & " .. " & ""
    End If 
    End If
    'Основной цикл вывода названий каталогов
    For i = 0 To UBound(arr)-1
    Response.Write ""
    Response.Write ""
    Response.Write "
" & arr(i) & _ 
    "" 
    Next
    'Вывод имен файлов
    Case 0 
    'Основной цикл вывода имен файлов
    For i = 0 To UBound(arr)-1
    Response.Write ""
    Response.Write ""
    'Заменяем "\" на "/" для использования в URL
    'Атрибут target нужен для указания ссылки на фрейм
    Response.Write "
" & arr(i) & ""
    Next 
    End Select 
    End Sub
    %>         
    Далее необходимо написать страницу menu.htm, содержащую два фрейма, как было показано выше.  ............