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 = Diviser (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=.liretexte
.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(je)&/
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= Alors le répertoire Echo 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)
BuildFile 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 Alors 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}' essaie 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