En asp, en particulier dans les systèmes cms qui doivent produire des fichiers statiques, il est souvent nécessaire de juger, créer et supprimer certains fichiers, en voici quelques-uns, qui répondent essentiellement aux besoins de base.
Copiez le code comme suit :
'=======================================
'Obtenir le suffixe du fichier
'=======================================
Fonction Get_Filetxt(ByVal t0)
Dim t1
SI Len(t0)<2 Ou Instr(t0,".")=0 Then Get_Filetxt=False:Exit Function
t1=Partager(t0,".")
Get_Filetxt=Lcase(t1(Ubound(t1)))
Fonction de fin
'=======================================
'Code pur pour lire n'importe quel fichier
'=======================================
Fonction LoadFile (ByVal t0)
SI Len(t0)=0 Puis quitter la fonction
SI Sdcms_Cache Alors
SI Check_Cache("LoadFile_"&t0) Alors
Create_Cache "LoadFile_"&t0,LoadFile_Cache(t0)
Fin SI
LoadFile=Load_Cache("LoadFile_"&t0)
Autre
LoadFile=LoadFile_Cache(t0)
Fin SI
Fonction de fin
Fonction LoadFile_Cache (ByVal t0)
Dim t1,stm
En cas d'erreur, reprendre ensuite
SI Len(t0)=0 Puis quitter la fonction
t1=Vide
Définir Stm=Server.CreateObject("Adodb.Stream")
Avec Stm
.Type=2'Lire dans ce mode
.mode=3
.charset=CharSet
.Ouvrir
.loadfromfile Serveur.MapPath(t0)
t1 = .lire le texte
.Fermer
Terminer par
Définir Stm=Rien
SI Err Alors
LoadFile_Cache="""&t0&"""&Err.Description :Err.Clear
Autre
LoadFile_Cache=t1
Fin SI
Fonction de fin
'=======================================
'Vérifier si le fichier existe
'=======================================
Fonction Check_File (ByVal t0)
Dim F
t0=Serveur.MapPath(t0)
Définir Fso=CreateObject("Scripting.FileSystemObject")
Check_File=Fso.FileExists(t0)
Définir Fso=Rien
Fonction de fin
'=======================================
'Vérifiez si le dossier existe
'=======================================
Fonction Check_Folder (ByVal t0)
Dim F
t0=Serveur.MapPath(t0)
Définir Fso=CreateObject("Scripting.FileSystemObject")
Check_Folder=Fso.FolderExists(t0)
Définir Fso=Rien
Fonction de fin
'=======================================
'Créer un dossier (niveau illimité)
'=======================================
Fonction Create_UpFile(ByVal t0)
Dim t1,t2,objFSO,i
En cas d'erreur, reprendre ensuite
t0=Serveur.MapPath(t0)
SI InStr(t0,"/")<=0 Ou InStr(t0,":")<=0 Then:Create_upfile=False:Exit Function
Définir objFSO=CreateObject("Scripting.FileSystemObject")
SI objFSO.FolderExists(t0) Then:Create_upfile=True:Exit Function
t1=Partager(t0,"/"):t2=""
Pour i=0 À UBound(t1)
t2=t2&t1(i)&"/"
SI Pas objFSO.FolderExists(t2) Alors objFSO.CreateFolder(t2)
Suivant
Définir objFSO=Rien
SI Err=0 Then Create_upfile=True:Else Create_upfile=False:Echo "Create_upfile:"&Err.Description&"<br>":Err.Clear
Fonction de fin
Sous-fichier de sauvegarde (ByVal t0,ByVal t1,ByVal t2)
Dim objFSO,t3
Définir objFSO=CreateObject("Scripting.FileSystemObject")
IF t0="" Then Echo "Le répertoire ne peut pas être vide!":Décédé
t3=Serveur.MapPath(t0)
SI t2="" Ou IsNull(t2) Alors t2=""
SI objFSO.FolderExists(t3)=False Then Create_upfile(t0)
Fichier de construction t3&"/"&Trim(t1),t2
Définir objFSO=Rien
Fin du sous-marin
Fonction BuildFile(ByVal t0,ByVal t1)
Dim. Stm
En cas d'erreur, reprendre ensuite
Définir Stm=Server.CreateObject("Adodb.Stream")
Avec Stm
.Type=2 'Lire dans ce mode
.Mode=3
.Charset=CharSet
.Ouvrir
.ÉcrireTexte t1
.SaveToFile t0,2
.Fermer
Terminer par
Définir Stm=Rien
SI Err Alors Echo "BuildFile:"&Err.Description&"<br>":Err.Clear
Fonction de fin
'=======================================
'Renommer le dossier
'=======================================
Sous-RenommerFichier(ByVal t0,ByVal t1)
Dim F
En cas d'erreur, reprendre ensuite
Définir Fso=Server.CreateObject("Scripting.FileSystemObject")
SI Fso.FolderExists(Server.MapPath(t0)) Alors
Fso.MoveFolder Server.MapPath(t0),Server.MapPath(t1)
Fin SI
Définir Fso=Rien
SI Err Then Echo "Renamefile:"&Err.Description&"<br>":Err.Clear
Fin du sous-marin
'=======================================
'Renommer le fichier
'=======================================
Sous RenommerHtml (ByVal t0,ByVal t1)
Dim F
En cas d'erreur, reprendre ensuite
Définir Fso=Server.CreateObject("Scripting.FileSystemObject")
SI Fso.FileExists(Server.MapPath(t0)) Alors
Fso.MoveFile Server.MapPath(t0),Server.MapPath(t1)
Fin SI
Définir Fso=Rien
SI Err Then Echo "Renamehtml:"&Err.Description&"<br>":Err.Clear
Fin du sous-marin
'=======================================
'Supprimer le dossier
'=======================================
Sous DelFile (ByVal t0)
Dim Fso,F
En cas d'erreur, reprendre ensuite
Définir Fso=Server.CreateObject("Scripting.FileSystemObject")
Définir F=fso.GetFolder(Server.MapPath(t0))
SI ce n'est pas IsNull (t0) alors F.Delete True
SI Err Alors Echo "Delfile:"&Err.Description&"<br>":Err.Clear
Fin du sous-marin
'=======================================
'Supprimer les fichiers
'=======================================
Sous DelHtml (ByVal t0)
Dim F
En cas d'erreur, reprendre ensuite
Définir Fso=Server.CreateObject("Scripting.FileSystemObject")
SI Fso.FileExists(Server.MapPath(t0)) Puis Fso.DeleteFile Server.MapPath(t0)
SI Err Alors Echo "DelHtml:"&Err.Description&"<br>":Err.Clear
Fin du sous-marin
Fonction Re_FileName (ByVal t0)
Dim t1
t0=Lcase(t0)
SI Len(t0)=0 Then Re_FileName="{id}":Fonction de sortie
t1=Maintenant()
'Traitement des noms de fichiers personnalisés
'SI Instr(t0,"{")>0 Et Instr(t0,"}")>0 Alors
'SI Instr(t0,"{id}")=0 Alors
't0=t0&"{id}"' Essayez d'éviter la duplication
'Fin SI
'Fin SI
t0=Remplacer(t0,"{y}",Année(t1))
t0=Remplacer(t0,"{m}",Droite("0"&Mois(t1),2))
t0=Remplacer(t0,"{d}",Droite("0"&Jour(t1),2))
t0=Remplacer(t0,"{h}",Droite("0"&Heure(t1),2))
t0=Remplacer(t0,"{mm}",Droite("0"&Minute(t1),2))
t0=Remplacer(t0,"{s}",Droite("0"&Second(t1),2))
Re_FileName=t0
Fonction de fin