En asp, especialmente en sistemas cms que necesitan producir archivos estáticos, a menudo es necesario juzgar, crear y eliminar algunos archivos. Estos son algunos de ellos, que básicamente satisfacen las necesidades básicas.
Copie el código de código de la siguiente manera:
'========================================
'Obtener el sufijo del archivo
'========================================
Función Get_Filetxt(ByVal t0)
tenue t1
IF Len(t0)<2 O Instr(t0,".")=0 Entonces Get_Filetxt=False:Salir de la función
t1=Dividir(t0,".")
Get_Filetxt=Lcase(t1(Ubound(t1)))
Función final
'========================================
'Código puro para leer cualquier archivo
'========================================
Función CargarArchivo(ByVal t0)
IF Len(t0)=0 Luego salga de la función
SI Sdcms_Cache Entonces
IF Check_Cache("LoadFile_"&t0) Entonces
Create_Cache "LoadFile_"&t0,LoadFile_Cache(t0)
Fin SI
LoadFile=Load_Cache("LoadFile_"&t0)
Demás
LoadFile=LoadFile_Cache(t0)
Fin SI
Función final
Función LoadFile_Cache(ByVal t0)
Tenue t1,stm
En caso de error Continuar siguiente
IF Len(t0)=0 Luego salga de la función
t1=Vacío
Establecer Stm=Server.CreateObject("Adodb.Stream")
con stm
.Type=2'Leer en este modo
.modo=3
.charset=Conjunto de caracteres
.Abierto
.loadfromfile Server.MapPath(t0)
t1=.leer texto
.Cerca
Terminar con
Establecer Stm=Nada
SI Errar Entonces
LoadFile_Cache="""&t0&"""&Err.Descripción:Err.Clear
Demás
LoadFile_Cache=t1
Fin SI
Función final
'========================================
'Comprueba si el archivo existe
'========================================
Función Check_File(ByVal t0)
tenue f
t0=Servidor.MapPath(t0)
Establecer Fso=CreateObject("Scripting.FileSystemObject")
Check_File=Fso.FileExists(t0)
Establecer Fso=Nada
Función final
'========================================
'Comprueba si la carpeta existe
'========================================
Función Check_Folder(ByVal t0)
tenue f
t0=Servidor.MapPath(t0)
Establecer Fso=CreateObject("Scripting.FileSystemObject")
Check_Folder=Fso.FolderExists(t0)
Establecer Fso=Nada
Función final
'========================================
'Crear carpeta (nivel ilimitado)
'========================================
Función Create_UpFile(ByVal t0)
Dim t1,t2,objFSO,i
En caso de error Continuar siguiente
t0=Servidor.MapPath(t0)
IF InStr(t0,"/")<=0 O InStr(t0,":")<=0 Entonces:Create_upfile=False:Salir de la función
Establecer objFSO=CreateObject("Scripting.FileSystemObject")
IF objFSO.FolderExists(t0) Entonces:Create_upfile=True:Salir de la función
t1=Dividir(t0,"/"):t2=""
Para i=0 a UBound(t1)
t2=t2&t1(i)&"/"
SI no es objFSO.FolderExists(t2) Entonces objFSO.CreateFolder(t2)
Próximo
Establecer objFSO=Nada
IF Err=0 Entonces Create_upfile=True:De lo contrario Create_upfile=False:Echo "Create_upfile:"&Err.Description&"<br>":Err.Clear
Función final
SubGuardarArchivo(PorVal t0,PorVal t1,PorVal t2)
Objeto oscuroFSO,t3
Establecer objFSO=CreateObject("Scripting.FileSystemObject")
IF t0="" Entonces Echo "¡El directorio no puede estar vacío!":Muerto
t3=Servidor.MapPath(t0)
IF t2="" O IsNull(t2) Entonces t2=""
SI objFSO.FolderExists(t3)=False Entonces Create_upfile(t0)
Crear archivo t3&"/"&Recortar(t1),t2
Establecer objFSO=Nada
Subtítulo final
Función BuildFile(ByVal t0,ByVal t1)
Luz tenue
En caso de error Continuar siguiente
Establecer Stm=Server.CreateObject("Adodb.Stream")
con stm
.Type=2 'Leer en este modo
.Modo=3
.Charset=Conjunto de caracteres
.Abierto
.WriteText t1
.Guardar en archivo t0,2
.Cerca
Terminar con
Establecer Stm=Nada
IF Err Entonces haga eco "BuildFile:"&Err.Description&"<br>":Err.Clear
Función final
'========================================
'Cambiar el nombre de la carpeta
'========================================
Subcambiar nombre de archivo (PorVal t0,PorVal t1)
tenue f
En caso de error Continuar siguiente
Establecer Fso=Server.CreateObject("Scripting.FileSystemObject")
SI Fso.FolderExists (Server.MapPath (t0)) Entonces
Fso.MoveFolder Servidor.MapPath(t0),Servidor.MapPath(t1)
Fin SI
Establecer Fso=Nada
IF Err Then Echo "Renamefile:"&Err.Description&"<br>":Err.Clear
Subtítulo final
'========================================
'Cambiar el nombre del archivo
'========================================
SubRenombrarHtml(PorVal t0,PorVal t1)
tenue f
En caso de error Continuar siguiente
Establecer Fso=Server.CreateObject("Scripting.FileSystemObject")
SI Fso.FileExists (Server.MapPath (t0)) Entonces
Fso.MoveFile Servidor.MapPath(t0),Servidor.MapPath(t1)
Fin SI
Establecer Fso=Nada
IF Err Then Echo "Renamehtml:"&Err.Description&"<br>":Err.Clear
Subtítulo final
'========================================
'Eliminar carpeta
'========================================
Sub DelFile(PorVal t0)
Tenue Fso,F
En caso de error Continuar siguiente
Establecer Fso=Server.CreateObject("Scripting.FileSystemObject")
Establecer F=fso.GetFolder(Server.MapPath(t0))
SI no es nulo (t0), entonces F.Delete True
IF Err Entonces Echo "Delfile:"&Err.Description&"<br>":Err.Clear
Subtítulo final
'========================================
'Eliminar archivos
'========================================
Sub DelHtml(PorVal t0)
tenue f
En caso de error Continuar siguiente
Establecer Fso=Server.CreateObject("Scripting.FileSystemObject")
SI Fso.FileExists(Server.MapPath(t0)) Luego Fso.DeleteFile Server.MapPath(t0)
IF Err Entonces haga eco "DelHtml:"&Err.Description&"<br>":Err.Clear
Subtítulo final
Función Re_FileName(ByVal t0)
tenue t1
t0=Lcaso(t0)
IF Len(t0)=0 Then Re_FileName="{id}":Salir de la función
t1=Ahora()
'Procesar nombres de archivos personalizados
'SI Instr(t0,"{")>0 e Instr(t0,"}")>0 Entonces
'SI Instr(t0,"{id}")=0 Entonces
't0=t0&"{id}"' Intente evitar la duplicación
'Fin SI
'Fin SI
t0=Reemplazar(t0,"{y}",Año(t1))
t0=Reemplazar(t0,"{m}",Derecha("0"&Mes(t1),2))
t0=Reemplazar(t0,"{d}",Derecha("0"&Día(t1),2))
t0=Reemplazar(t0,"{h}",Derecha("0"&Hora(t1),2))
t0=Reemplazar(t0,"{mm}",Derecha("0"&Minuto(t1),2))
t0=Reemplazar(t0,"{s}",Derecha("0"&Segundo(t1),2))
Re_NombreArchivo=t0
Función final