В 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=Пусто
Set Stm=Server.CreateObject("Adodb.Stream")
со Стмом
.Type=2'Чтение в этом режиме
.mode=3
.charset=Набор символов
.Открыть
.loadfromfile Server.MapPath(t0)
t1=.readtext
.Закрывать
Конец с
Установить Stm=Ничего
ЕСЛИ Ошибка Тогда
LoadFile_Cache="""&t0&"""&Err.Description:Err.Clear
Еще
LoadFile_Cache=t1
Конец ЕСЛИ
Конечная функция
'====================================
'Проверяем, существует ли файл
'====================================
Функция Check_File(ByVal t0)
Дим Ф
t0=Server.MapPath(t0)
Set Fso=CreateObject("Scripting.FileSystemObject")
Check_File=Fso.FileExists(t0)
Установить Fso=Ничего
Конечная функция
'====================================
'Проверяем, существует ли папка
'====================================
Функция Check_Folder(ByVal t0)
Дим Ф
t0=Server.MapPath(t0)
Set 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:Выход из функции
Set objFSO=CreateObject("Scripting.FileSystemObject")
ЕСЛИ objFSO.FolderExists(t0) Тогда: Create_upfile=True: Выход из функции
t1=Split(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
Set objFSO=CreateObject("Scripting.FileSystemObject")
IF 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)
Дим Стм
При ошибке Возобновить Далее
Set Stm=Server.CreateObject("Adodb.Stream")
со Стмом
.Type=2 'Чтение в этом режиме
.Режим=3
.Charset=CharSet
.Открыть
.WriteText t1
.SaveToFile t0,2
.Закрывать
Конец с
Установить Stm=Ничего
ЕСЛИ Err Тогда Эхо "BuildFile:"&Err.Description&"<br>":Err.Clear
Конечная функция
'====================================
'Переименовываем папку
'====================================
Sub RenameFile (ByVal t0, ByVal t1)
Дим Ф
При ошибке Возобновить Далее
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
ЕСЛИ Fso.FolderExists(Server.MapPath(t0)) Тогда
Fso.MoveFolder Server.MapPath(t0),Server.MapPath(t1)
Конец ЕСЛИ
Установить Fso=Ничего
ЕСЛИ Err Тогда Эхо "Renamefile:"&Err.Description&"<br>":Err.Clear
Конец субтитра
'====================================
'Переименовываем файл
'====================================
Sub RenameHtml (ByVal t0, ByVal t1)
Дим Ф
При ошибке Возобновить Далее
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
ЕСЛИ Fso.FileExists(Server.MapPath(t0)) Тогда
Fso.MoveFile Server.MapPath(t0),Server.MapPath(t1)
Конец ЕСЛИ
Установить Fso=Ничего
ЕСЛИ Err Тогда Эхо "Renamehtml:"&Err.Description&"<br>":Err.Clear
Конец субтитра
'====================================
'Удалить папку
'====================================
Sub DelFile (ByVal t0)
Дим Фсо,Ф
При ошибке Возобновить Далее
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
Установите F=fso.GetFolder(Server.MapPath(t0))
ЕСЛИ Не IsNull(t0), Тогда F.Delete True
ЕСЛИ Err Тогда Эхо "Delfile:"&Err.Description&"<br>":Err.Clear
Конец субтитра
'====================================
'Удалить файлы
'====================================
Sub DelHtml (ByVal t0)
Дим Ф
При ошибке Возобновить Далее
Set Fso=Server.CreateObject("Scripting.FileSystemObject")
ЕСЛИ Fso.FileExists(Server.MapPath(t0)) Тогда Fso.DeleteFile Server.MapPath(t0)
ЕСЛИ Err Тогда Эхо "DelHtml:"&Err.Description&"<br>":Err.Clear
Конец субтитра
Функция 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=Replace(t0,"{d}",Right("0"&Day(t1),2))
t0=Заменить(t0,"{h}",Вправо("0"&Час(t1),2))
t0=Заменить(t0,"{мм}",Вправо("0"&Минута(t1),2))
t0=Заменить(t0,"{s}",Вправо("0"&Второй(t1),2))
Re_FileName=t0
Конечная функция