Accueil
 COURS INFORMATIQUE
 Cours Algorithmique
 Cours ASP
 Cours CSS
 Cours HTML
 Cours PHP / MySQL
 Cours Réseaux
 Cours SQL
 Cours Visual Basic
 ARTICLES
  Conception de sites
  Droit & Internet
  e-commerce
  Société
  Strategies du web
  Technologies Web
  Marketing Web
 LIVRES
  ASP/ASP.Net
  C/C++/C#
  Conception de sites
  DHTML/CSS
  Gestion de Projet
  HTML/Internet
  Java/JSP/J2EE
  JavaScript/VbScript
  Juridique
  Marketing/Stratégie
  PHP/Linux/Unix
  Réseaux
  XML/XHTML/XSL
 NETALYA RECOMMANDE
Reussir un projet de site web

Cours ASP N°5 : concepts avancés

Auteur : Nicolas Chu

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.


Google
 
 RESSOURCES GRATUITES
 Caractères spéciaux
 Code Couleurs HTML
 Générateur Méta Tags
 Références HTML
 Scripts : ASP
 Scripts : Java Scripts
 PRATIQUE / OUTILS
 Salons Informatiques
 Astuces Windows
 TÉLÉCHARGEMENTS
 Utilitaires système
 Logiciels pratiques
 Jeux & démos
 INFOS SITE
 Contacts
 Mentions légales
 Qui sommes-nous ?
 PARTENAIRES
 Jeux et Jouets
 Murielle Cahen
 Cours d'anglais
 Droit NTIC
 Directeur Internet
 Australie
 Création site Internet
 VOD News
 Web Hostings