No asp, principalmente em sistemas cms que precisam produzir arquivos estáticos, muitas vezes é necessário julgar, criar e excluir alguns arquivos. Aqui estão alguns deles, que atendem basicamente às necessidades básicas.
Copie o código do código da seguinte forma:
'======================================
'Obtém o sufixo do arquivo
'======================================
Função Get_Filetxt(ByVal t0)
Escurecer t1
SE Len(t0)<2 Ou Instr(t0,".")=0 Então Get_Filetxt=False:Sair da Função
t1=Dividir(t0,".")
Get_Filetxt=Lcase(t1(Ubound(t1)))
Função final
'======================================
'Código puro para ler qualquer arquivo
'======================================
Função LoadFile(ByVal t0)
SE Len (t0) = 0, então saia da função
SE Sdcms_Cache Então
SE Check_Cache("LoadFile_"&t0) Então
Create_Cache "LoadFile_"&t0,LoadFile_Cache(t0)
Terminar SE
LoadFile=Load_Cache("LoadFile_"&t0)
Outro
LoadFile=LoadFile_Cache(t0)
Terminar SE
Função final
Função LoadFile_Cache(ByVal t0)
Dim t1,stm
Em caso de erro, retomar o próximo
SE Len (t0) = 0, então saia da função
t1=Vazio
Definir Stm=Server.CreateObject("Adodb.Stream")
Com Stm
.Type=2'Ler neste modo
.modo=3
.charset = Conjunto de caracteres
.Abrir
.loadfromfile Servidor.MapPath(t0)
t1=.readtext
.Fechar
Terminar com
Definir Stm=Nada
SE Errar Então
LoadFile_Cache="""&t0&"""&Err.Description:Err.Clear
Outro
LoadFile_Cache=t1
Terminar SE
Função final
'======================================
'Verifica se o arquivo existe
'======================================
Função Check_File(ByVal t0)
Escuro F
t0=Servidor.MapPath(t0)
Definir Fso=CreateObject("Scripting.FileSystemObject")
Check_File=Fso.FileExists(t0)
Definir Fso=Nada
Função final
'======================================
'Verifica se a pasta existe
'======================================
Função Check_Folder(ByVal t0)
Escuro F
t0=Servidor.MapPath(t0)
Definir Fso=CreateObject("Scripting.FileSystemObject")
Check_Folder=Fso.FolderExists(t0)
Definir Fso=Nada
Função final
'======================================
'Criar pasta (nível ilimitado)
'======================================
Função Create_UpFile(ByVal t0)
Dim t1,t2,objFSO,i
Em caso de erro, retomar o próximo
t0=Servidor.MapPath(t0)
IF InStr(t0,"/")<=0 Ou InStr(t0,":")<=0 Then:Create_upfile=False:Sair da Função
Definir objFSO=CreateObject("Scripting.FileSystemObject")
IF objFSO.FolderExists(t0) Then:Create_upfile=True:Sair da Função
t1=Dividir(t0,"/"):t2=""
Para i = 0 para UBound (t1)
t2=t2&t1(i)&"/"
SE não for objFSO.FolderExists(t2) Então objFSO.CreateFolder(t2)
Próximo
Definir objFSO=Nada
SE Err=0 Então Create_upfile=True:Else Create_upfile=False:Echo "Create_upfile:"&Err.Description&"<br>":Err.Clear
Função final
Sub SaveFile(ByVal t0,ByVal t1,ByVal t2)
Dim objFSO,t3
Definir objFSO=CreateObject("Scripting.FileSystemObject")
IF t0="" Then Echo "O diretório não pode estar vazio!":Morreu
t3=Servidor.MapPath(t0)
SE t2="" Ou IsNull(t2) Então t2=""
SE objFSO.FolderExists(t3)=Falso Então Create_upfile(t0)
BuildFile t3&"/"&Trim(t1),t2
Definir objFSO=Nada
Finalizar sub
Função BuildFile(ByVal t0,ByVal t1)
DimStm
Em caso de erro, retomar o próximo
Definir Stm=Server.CreateObject("Adodb.Stream")
Com Stm
.Type=2 'Ler neste modo
.Modo=3
.Charset = Conjunto de caracteres
.Abrir
.WriteText t1
.SaveToFile t0,2
.Fechar
Terminar com
Definir Stm=Nada
SE Errar, então ecoe "BuildFile:"&Err.Description&"<br>":Err.Clear
Função final
'======================================
'Renomeie a pasta
'======================================
Sub RenomearArquivo(ByVal t0,ByVal t1)
Escuro F
Em caso de erro, retomar o próximo
Definir Fso=Server.CreateObject("Scripting.FileSystemObject")
SE Fso.FolderExists(Server.MapPath(t0)) Então
Fso.MoveFolder Servidor.MapPath(t0),Servidor.MapPath(t1)
Terminar SE
Definir Fso=Nada
SE Errar, então ecoe "Renamefile:"&Err.Description&"<br>":Err.Clear
Finalizar sub
'======================================
'Renomear arquivo
'======================================
Sub RenomearHtml(ByVal t0,ByVal t1)
Escuro F
Em caso de erro, retomar o próximo
Definir Fso=Server.CreateObject("Scripting.FileSystemObject")
SE Fso.FileExists(Server.MapPath(t0)) Então
Fso.MoveFile Servidor.MapPath(t0),Servidor.MapPath(t1)
Terminar SE
Definir Fso=Nada
SE Errar, então ecoe "Renamehtml:"&Err.Description&"<br>":Err.Clear
Finalizar sub
'======================================
'Excluir pasta
'======================================
Sub DelFile (ByVal t0)
Dim Fso,F
Em caso de erro, retomar o próximo
Definir Fso=Server.CreateObject("Scripting.FileSystemObject")
Definir F=fso.GetFolder(Server.MapPath(t0))
SE não for IsNull (t0), então F.Delete True
SE Errar, então ecoe "Delfile:"&Err.Description&"<br>":Err.Clear
Finalizar sub
'======================================
'Excluir arquivos
'======================================
Sub DelHtml(ByVal t0)
Escuro F
Em caso de erro, retomar o próximo
Definir Fso=Server.CreateObject("Scripting.FileSystemObject")
SE Fso.FileExists(Server.MapPath(t0)) Então Fso.DeleteFile Server.MapPath(t0)
SE Errar, então ecoe "DelHtml:"&Err.Description&"<br>":Err.Clear
Finalizar sub
Função Re_NomeArquivo(ByVal t0)
Escurecer t1
t0=Lcaso(t0)
SE Len(t0)=0 Então Re_FileName="{id}":Sair da Função
t1=Agora()
'Processar nomes de arquivos personalizados
'IF Instr(t0,"{")>0 E Instr(t0,"}")>0 Então
'SE Instr(t0,"{id}")=0 Então
't0=t0&"{id}"' Tente evitar duplicação
'Fim SE
'Fim SE
t0=Substituir(t0,"{y}",Ano(t1))
t0=Substituir(t0,"{m}",Right("0"&Mês(t1),2))
t0=Substituir(t0,"{d}",Right("0"&Dia(t1),2))
t0=Substituir(t0,"{h}",Right("0"&Hora(t1),2))
t0=Substituir(t0,"{mm}",Right("0"&Minuto(t1),2))
t0=Substituir(t0,"{s}",Right("0"&Second(t1),2))
Re_NomeArquivo=t0
Função final