В asp, особенно в системах cms, которым необходимо создавать статические файлы, часто необходимо оценивать, создавать и удалять некоторые файлы. Вот некоторые из них, которые в основном отвечают основным потребностям. Скопируйте код кода следующим образом:
'====================================
'Получить суффикс файла
'====================================
Функция Get_Filetxt(ByVal t0)
Тусклый t1
ЕСЛИ Len(t0)<2 Или Instr(t0,.)=0 Тогда Get_Filetxt=False:Выход из функции
t1=Разделить(t0,.)
Get_Filetxt=Lcase(t1(Ubound(t1)))
Конечная функция
'====================================
'Чистый код для чтения любого файла
'====================================
Функция LoadFile(ByVal t0)
ЕСЛИ Len(t0)=0, то выход из функции
ЕСЛИ Sdcms_Cache Тогда
ЕСЛИ Check_Cache(LoadFile_&t0) Тогда
Create_Cache LoadFile_&t0,LoadFile_Cache(t0)
Конец ЕСЛИ
LoadFile=Load_Cache(LoadFile_&t0)
Еще
LoadFile=LoadFile_Cache(t0)
Конец ЕСЛИ
Конечная функция
Функция LoadFile_Cache(ByVal t0)
Дим t1,стм
При ошибке Возобновить Далее
ЕСЛИ Len(t0)=0, то выход из функции
t1=Пусто
Установите Stm=Server.CreateObject(Adodb.Stream)
со Стмом
.Type=2'Чтение в этом режиме
.mode=3
.charset=Набор символов
.Открыть
.loadfromfile Server.MapPath(t0)
t1=.readtext
.Закрывать
Конец с
Установить Stm=Ничего
ЕСЛИ Ошибка Тогда
LoadFile_Cache=&t0&&Err.Description:Ошибка.Очистить
Еще
LoadFile_Cache=t1
Конец ЕСЛИ
Конечная функция
'====================================
'Проверяем, существует ли файл
'====================================
Функция Check_File(ByVal t0)
Дим Ф
t0=Server.MapPath(t0)
Установите Fso=CreateObject(Scripting.FileSystemObject)
Check_File=Fso.FileExists(t0)
Установить Fso=Ничего
Конечная функция
'====================================
'Проверяем, существует ли папка
'====================================
Функция Check_Folder(ByVal t0)
Дим Ф
t0=Server.MapPath(t0)
Установите Fso=CreateObject(Scripting.FileSystemObject)
Check_Folder=Fso.FolderExists(t0)
Установить Fso=Ничего
Конечная функция
'====================================
'Создать папку (неограниченный уровень)
'====================================
Функция Create_UpFile(ByVal t0)
Dim t1,t2,objFSO,i
При ошибке Возобновить Далее
t0=Server.MapPath(t0)
ЕСЛИ InStr(t0,/)<=0 Или InStr(t0,:)<=0 Тогда:Create_upfile=False:Выход из функции
Установите objFSO=CreateObject(Scripting.FileSystemObject)
ЕСЛИ objFSO.FolderExists(t0) Тогда: Create_upfile=True: Выход из функции
t1=Разделить(t0,/):t2=
Для i=0 к UBound(t1)
t2=t2&t1(i)&/
ЕСЛИ Не objFSO.FolderExists(t2), Тогда objFSO.CreateFolder(t2)
Следующий
Установить objFSO=Ничего
ЕСЛИ Err=0 Тогда Create_upfile=True:Иначе Create_upfile=False:Echo Create_upfile:&Err.Description&<br>:Err.Clear
Конечная функция
Дополнительный файл сохранения (ByVal t0, ByVal t1, ByVal t2)
Тусклый objFSO,t3
Установите objFSO=CreateObject(Scripting.FileSystemObject)
ЕСЛИ t0= Тогда каталог Echo не может быть пустым! :Умер
t3=Server.MapPath(t0)
ЕСЛИ t2= или IsNull(t2) Тогда t2=
ЕСЛИ objFSO.FolderExists(t3)=False, то Create_upfile(t0)
Файл сборки t3&/&Trim(t1),t2
Установить objFSO=Ничего
Конец субтитра
Функция BuildFile(ByVal t0, ByVal t1)
Дим Стм
При ошибке Возобновить Далее
Установите Stm=Server.CreateObject(Adodb.Stream)
со Стмом
.Type=2 'Чтение в этом режиме
.Режим=3
.Charset=CharSet
.Открыть
.WriteText t1
.SaveToFile t0,2
.Закрывать
Конец с
Установить Stm=Ничего
ЕСЛИ Err, то Echo BuildFile:&Err.Description&<br>:Err.Clear
Конечная функция
'====================================
'Переименовываем папку
'====================================
Sub RenameFile (ByVal t0, ByVal t1)
Дим Ф
При ошибке Возобновить Далее
Установите Fso=Server.CreateObject(Scripting.FileSystemObject)
ЕСЛИ Fso.FolderExists(Server.MapPath(t0)) Тогда
Fso.MoveFolder Server.MapPath(t0),Server.MapPath(t1)
Конец ЕСЛИ
Установить Fso=Ничего
IF Err then Echo Renamefile:&Err.Description&<br>:Err.Clear
Конец субтитра
'====================================
'Переименовываем файл
'====================================
Sub RenameHtml (ByVal t0, ByVal t1)
Дим Ф
При ошибке Возобновить Далее
Установите Fso=Server.CreateObject(Scripting.FileSystemObject)
ЕСЛИ Fso.FileExists(Server.MapPath(t0)) Тогда
Fso.MoveFile Server.MapPath(t0),Server.MapPath(t1)
Конец ЕСЛИ
Установить Fso=Ничего
ЕСЛИ Err, то Echo Renamehtml:&Err.Description&<br>:Err.Clear
Конец субтитра
'====================================
'Удалить папку
'====================================
Sub DelFile (ByVal t0)
Дим Фсо,Ф
При ошибке Возобновить Далее
Установите Fso=Server.CreateObject(Scripting.FileSystemObject)
Установите F=fso.GetFolder(Server.MapPath(t0))
ЕСЛИ Не IsNull(t0), Тогда F.Delete True
ЕСЛИ Ошибка, Тогда Эхо Delfile:&Описание ошибки&<br>:Ошибка.Очистить
Конец субтитра
'====================================
'Удалить файлы
'====================================
Sub DelHtml (ByVal t0)
Дим Ф
При ошибке Возобновить Далее
Установите Fso=Server.CreateObject(Scripting.FileSystemObject)
ЕСЛИ Fso.FileExists(Server.MapPath(t0)) Тогда Fso.DeleteFile Server.MapPath(t0)
ЕСЛИ Ошибка, Тогда Эхо DelHtml:&Ошибка.Описание&<br>:Ошибка.Очистить
Конец субтитра
Функция Re_FileName(ByVal t0)
Тусклый t1
t0=Lcase(t0)
ЕСЛИ Len(t0)=0 Тогда Re_FileName={id}: Выход из функции
t1=Сейчас()
'Обработка пользовательских имен файлов
'IF Instr(t0,{)>0 And Instr(t0,})>0 Тогда
'IF Instr(t0,{id})=0 Тогда
't0=t0&{id}' попытаться предотвратить дублирование
'Конец ЕСЛИ
'Конец ЕСЛИ
t0=Заменить(t0,{y},Год(t1))
t0=Заменить(t0,{m},Вправо(0&Месяц(t1),2))
t0=Заменить(t0,{d},Вправо(0&День(t1),2))
t0=Заменить(t0,{h},Вправо(0&Час(t1),2))
t0=Заменить(t0,{мм},Вправо(0&Минута(t1),2))
t0=Заменить(t0,{s},Вправо(0&Второй(t1),2))
Re_FileName=t0
Конечная функция