 |
|
 |
 |
Cours ASP N°5 : concepts avancés
La gestion des lecteurs, répertoires et fichiers
Description
Manipuler des fichiers peut être très pratique. En effet, l’usage d’un fichier
peut, selon le cas être la meilleure façon de gérer des données, de plus un
fichier texte est portable ce qui permet à un serveur d’instant de récupérer
l’information sans un accès spécifique.
Pour ce faire, ASP mais à notre disposition un modèle d'objet qui
nous donne accès au système de fichiers du côté serveur
: FileSystemObject
La déclaration d'un objet FileSystemObject s'effectue de la manière
suivante :
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Ce modèle d'objet nous permettra également d'accéder à l'ensemble des lecteurs
du serveurs (Disques durs, CD-Rom,…)
Votre Application ASP pourra ainsi :
- Accéder à l'ensemble des lecteurs du serveur, grâce à l'objet Drive.
- Modifier, supprimer ou déplacer les dossiers présents sur ces lecteurs, grâce à l'objet Folder.
- Modifier, supprimer ou déplacer les fichiers présents sur ces lecteurs grâce à l'objet File.
Méthodes
Méthode
|
Description
|
BuildPath(chemin, nom)
|
Permet de construire un chemin à partir d'un chemin existant.
|
CopyFile(source, destination, bool_ecrase)
|
Permet de copier un ou plusieurs fichiers d'un emplacement à un autre.
|
CopyFolder(source, destination, bool_ecrase)
|
Permet de copier un dossier d'un emplacement à un autre.
|
CreateFolder(nom_dossier)
|
Permet de créer un dossier.
|
CreateTextFile(fichier, bool_ecrase, unicode_ASCII)
|
Permet de créer un fichier de type TextStream.
|
DeleteFile(fichier_supprimer, bool_forçage)
|
Permet de supprimer un fichier.
|
DeleteFolder(dossier_supprimer, bool_forçage)
|
Permet de supprimer un dossier et son contenu.
|
DriveExists(lecteur)
|
Renvoie True si le lecteur existe et False dans le cas contraire.
|
FileExists(fichier)
|
Renvoie True si un fichier existe et False dans le cas contraire.
|
FolderExists(dossier)
|
Renvoie True si un dossier existe et False dans le cas contraire.
|
GetAbsolutePathName(chemin)
|
Renvoie le chemin d'accès complet.
|
GetBaseName(chemin)
|
Renvoie une chaîne contenant le nom de base du dernier composant d'un
chemin d'accès, sans extension de fichier.
|
GetDrive(lecteur)
|
Renvoie un objet Drive correspondant au lecteur dans un chemin d'accès.
|
GetDriveName(chemin)
|
Renvoie une chaîne contenant le nom correspondant au lecteur dans un
chemin d'accès.
|
GetExtensionName(chemin)
|
Renvoie une chaîne contenant le nom d'extension du dernier composant
d'un chemin d'accès.
|
GetFile(fichier)
|
Permet de créer un objet File correspondant à un nom de fichier situé
dans un chemin d'accès.
|
GetFileName(chemin)
|
Renvoie le dernier composant du chemin spécifié qui ne
fait pas partie de la spécification du lecteur.
|
GetFolder(chemin)
|
Renvoie un objet Folder qui correspond à un dossier spécifié
dans un
chemin d'accès.
|
GetParentFolderName(chemin)
|
Renvoie une chaîne contenant le nom du dossier parent du dernier composant
d'un chemin spécifié.
|
GetSpecialFolder(dossier)
|
Renvoie l'objet dossier spécial indiqué.
|
GetTempName()
|
Renvoie un nom de dossier ou de fichier temporaire généré
de façon aléatoire, utile pour les opérations qui requièrent
ce genre de dossiers ou de fichiers.
|
MoveFile(source, destination)
|
Permet de déplacer un ou plusieurs fichiers d'un emplacement à un autre.
|
MoveFolder(source, destination)
|
Permet de déplacer un ou plusieurs dossiers d'un endroit à un autre.
|
OpenTextFile(fichier, iomode, bool_création, format)
|
Ouvre un fichier et renvoie un objet TextStream.
|
L'objet Drive
L'objet Drive représente les lecteurs de disques présent sur le serveur.
La déclaration de cet objet se fait de la manière suivante :
Set objDrive = objFSO.GetDrive(objFSO.GetDriveName(Chemin))
Les Propriétés :
Propriété
|
Description
|
AvailableSpace
|
Retourne l'espace disponible d'un lecteur.
|
DriveLetter
|
Retourne la lettre symbolisant le lecteur.
|
DriveType
|
Retourne le type du disque dur ou du lecteur réseau.
|
FileSystem
|
Retourne le type du système de fichier du lecteur.
|
FreeSpace
|
Retourne l'espace libre disponible sur un lecteur pour un utilisateur
d'un lecteur.
|
IsReady
|
Retourne true si le lecteur est prêt sinon false.
|
Path
|
Retourne le chemin d'accès du lecteur.
|
RootFolder
|
Retourne un objet Folder représentant le dossier racine.
|
SerialNumber
|
Retourne le numéro de série du lecteur.
|
ShareName
|
Retourne le nom de partage réseau d'un lecteur.
|
TotalSize
|
Retourne la taille totale d'un lecteur.
|
VolumeName
|
Retourne le nom de volume d'un lecteur.
|
L'objet Folder
L'objet Folder représente les répertoires, ou dossiers des lecteurs.
La déclaration de cet objet se fait de la manière suivante :
Set objFolder = objFSO.GetFolder(chemin)
Les Propriétés :
Propriété
|
Description
|
Attributes [= attribut]
|
Définit ou retourne les attributs des dossiers.
|
DateCreated
|
Retourne la date et l'heure de création du dossier.
|
DateLastAccessed
|
Retourne la date et l'heure du dernier accès au dossier.
|
DateLastModified
|
Retourne la date et l'heure de la dernière modification du dossier.
|
Drive
|
Retourne la lettre désignant le lecteur sur lequel réside le dossier.
|
Files
|
Retourne un collection de fichier contenu dans le dossier.
|
IsRootFolder
|
Retourne true si le dossier est le dossier racine.
|
Name [= nom]
|
Définit ou retourne le nom du dossier.
|
ParentFolder
|
Retourne le dossier parent du dossier spécifié.
|
Propriété
|
Description
|
Path
|
Retourne le chemin d'accès du dossier.
|
ShortName
|
Retourne le nom du dossier dans le format DOS 8.3.
|
ShortPath
|
Retourne le chemin du dossier dans le format DOS 8.3.
|
Size
|
Retourne la taille du dossier.
|
SubFolders
|
Retourne une collection de dossiers contenus dans le dossier spécifié.
|
Type
|
Retourne le type du dossier.
|
Les Méthodes :
Méthode
|
Description
|
Copy(destination, mode)
|
Permet de copier un dossier d'un emplacement à un autre.
|
Delete
|
Efface un dossier.
|
Move(destination)
|
Déplace un dossier à une destination indiquée.
|
L'objet File
L'objet File représente les fichiers présents sur les lecteurs.
La déclaration de cet objet se fait de la manière suivante :
Set objFile = objFSO.GetFile(chemin)
Les Propriétés :
Propriété
|
Description
|
Attributes [= nombre]
|
Définit ou renvoie les attributs des fichiers ou des dossiers.
|
DateCreated
|
Retourne la date et l'heure de création du fichier.
|
DateLastAccessed
|
Retourne la date et l'heure du dernier accès sur le fichier.
|
DateLastModified
|
Retourne la date et l'heure de la dernière modification du fichier.
|
Drive
|
Retourne la lettre de l'unité contenant le fichier.
|
Name [= nom]
|
Définit ou retourne le nom d'un fichier ou d'un dossier.
|
ParentFolder
|
Retourne l'objet dossier du parent pour le fichier.
|
Path
|
Retourne le chemin d'accès du fichier.
|
ShortName
|
Retourne un nom de fichier dans le format Dos : 8.3.
|
ShortPath
|
Retourne le chemin dans le format Dos.
|
Size
|
Retourne la taille du fichier.
|
Type
|
Retourne le type du fichier.
|
Les Méthodes :
Méthode
|
Description
|
Copy(destination, mode)
|
Permet de copier un fichier d'un emplacement à un autre.
|
Delete
|
Efface un fichier.
|
Move(destination)
|
Déplace un fichier à une destination indiquée.
|
L'objet TextStream
L'objet TextStream permet la lecture et l'écriture dans les fichiers textes
La déclaration de cet objet se fait de la manière suivante :
Set objTextStream = objFSO.CreateTextFile(chemin)
Les Propriétés :
Propriété
|
Description
|
AtEndOfLine
|
Retourne true si le pointeur du fichier est situé immédiatement
avant la marque de fin de ligne dans un fichier TextStream et sinon
false.
|
AtEndOfStream
|
Retourne true si le pointeur du fichier se situe à la fin d'un
fichier TextStream et sinon false.
|
Column
|
Retourne le numéro de colonne correspondant à la position du caractère
courant dans un fichier TextStream.
|
Line
|
retourne le numéro de la ligne courante dans un fichier TextStream.
|
Les Méthodes :
Méthode
|
Description
|
Close()
|
Ferme un fichier TextStream.
|
Read(nombre)
|
Lit le nombre spécifié de caractères et renvoie la chaîne de caractères.
|
ReadAll()
|
Lit un fichier TextStream entier et renvoie la chaîne de caractères.
|
ReadLine()
|
Lit une ligne complète et renvoie la chaîne de caractères obtenues.
|
Skip(nombre)
|
Ignore un nombre spécifié de caractères lors de la lecture d'un fichier
TextStream.
|
SkipLine
|
Ignore une ligne lors de la lecture d'un fichier TextStream.
|
Write(chaîne)
|
Ecrit une chaîne de caractères spécifiée dans un fichier TextStream.
|
WriteBlankLines(nombre)
|
Ecrit un nombre spécifié de caractères de nouvelle ligne dans un fichier
TextStream.
|
WriteLine(chaîne)
|
Ecrit une chaîne de caractères spécifiée et un caractère de nouvelle
ligne dans un fichier TextStream.
|
Exemple 1 : Changer le nom d'un répertoire
REP="/" 'Désigne le Répertoire Virtuel Racine
NOM="Toto" 'Désigne l'ancien Nom
NOUVEAU_NOM="Titi" 'Désigne le nouveau nom
Dim objFSO
Dim objFolder
Set objFSO=Server.CreateObject("Scripting.filesystemObject")
Set objFolder=objFSO.Getfolder(Server.MapPath(REP&NOM))
'----- Si le répertoire existe
If objFSO.FolderExists(Server.mapPath(REP&NOM)) Then
objFolder.name=NOUVEAU_NOM
End if
Set objFolder=nothing
Set objFSO=nothing
Exemple 2 : La création d'un répertoire
REP="/" 'Désigne le Répertoire Virtuel Racine
NOM="Toto" 'Désigne le nom du dossier
Dim objFSO
Dim objFolder
Dim objFolder2
Set objFSO=server.createObject("Scripting.filesystemObject")
Set objFolder=objFSO.Getfolder(Server.mapPath(REP))
Set objFolder2=objFolder.Subfolders
'---- Si le répertoire n'existe pas
If not objFSO.FolderExists(Server.mapPath(REP&NOM)) Then
objFolder2.add(NOM)
End if
Set objFolder2=nothing
Set objFolder=nothing
Set objFSO=nothing
Exemple 3 : La suppression d'un répertoire
REP="/" 'Désigne le Répertoire Virtuel Racine
NOM="Toto" 'Désigne le nom du dossier
Dim objFSO
Set objFSO=server.createObject("Scripting.filesystemObject")
If objFSO.FolderExists(Server.mapPath(REP&NOM)) Then
objFSO.deleteFolder(Server.mapPath(REP&NOM))
End if
Set objFSO=Nothing
Exemple 4 : Création d'un fichier
REP="/"
NOM="Toto.txt"
CONTENU="Bla bla"
Dim objFSO
Dim objTextStream
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFSO.CreateTextFile (Server.MapPath(REP)&"\"&NOM)
objTextStream.WriteLine(CONTENU)
Set objTextStream = Nothing
Set objFSO = Nothing
Exemple 5 : Lecture d'un fichier
<%
REP="/"
NOM="Toto.txt"
Dim Phrase
Dim objFSO
Dim objTextStream
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(Server.mapPath(REP&NOM)) Then
Set objTextStream = objFSO.OpenTextFile (Server.MapPath(REP)&"\"&NOM)
Phrase= objTextStream.ReadAll()
Else
Phrase="Fichier introuvable"
End if
Set objTextStream = Nothing
Set objFSO = Nothing
%>
<%=Phrase%>
Exemple 6 : Suppression d'un fichier
REP="/"
NOM="Toto.txt"
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(Server.MapPath(REP)&"\"&NOM) Then
objFSO.DeleteFile(Server.MapPath(REP)&"\"&NOM)
End if
Set objFSO =Nothing
Nous vous informons que ce cours constitue une œuvre protégée en France
par le Code de la Propriété Intellectuelle, et à l’étranger par les
conventions internationales en vigueur sur le droit d’auteur. La
violation de l’un des droits d’auteur de l’œuvre est un délit de
contrefaçon.
Il est donc interdit, à titre privé ou public, de reproduire, copier,
vendre, revendre ou exploiter, que ce soit dans un but commercial ou
purement gratuit, ce cours, sauf accord exprès et préalable de son
auteur.
|
 |
 |
|
 |