FAQ ASP
FAQ ASPConsultez toutes les FAQ
Nombre d'auteurs : 6, nombre de questions : 44, dernière mise à jour : 15 juin 2021
Le FileSystemObject ne fait pas à proprement parler des ASP. En effet, il s'agit d'un objet de script, disponible via la bibliothèque d'exécution de script (fichier scrrun.dll) qui est installée par défaut avec les moteurs de script Active Scripting.
L'objet FileSystemObject donne accès au système de fichiers côté serveur ou côté client. Il permet à travers ses méthodes, propriétés et collections de parcourir les dossiers et fichiers de l'ordinateur, de lire ou d'écrire dans les fichiers, de créer, déplacer, supprimer des dossiers ou des fichiers, d'obtenir des informations sur les disques, dossiers, fichiers...
En bref, il vous permet de faire ce que vous faites naturellement avec l'explorateur de Windows.
Lorsque vous utilisez FSO ( FileSystemObject ) dans un script, il arrive que la page que vous essayez de visualiser ne s'affiche pas, que le chargement de cette page n'en finisse pas et qu'aucun message d'erreur n'apparaisse (ou bien un simple Impossible d'afficher la page).
Si vous êtes sûr de la validité de votre code (pas de boucle infinie), la solution est assez simple à mettre en oeuvre.
Il vous suffit d'aller dans les options de votre antivirus (Norton pour ne pas le citer) et de désactiver le blocage de script.
En effet, cette option a pour effet de bloquer l'exécution du fichier scrrun.dll qui permet justement d'utiliser le FSO dans vos pages ASP.
Une fois cette option désactivée, il est parfois nécéssaire de redémarrer IIS (ou PWS) pour retrouver un fonctionnement correct de vos pages ASP.
Pour désactiver le blocage de script dans Norton Antivirus, suivez les explications données sur la page correspondante du site de Symantec.
Pour créer un fichier et écrire dans ce fichier sur le serveur, il faut utiliser le FileSystemObject :
<%
Set
FSO =
Server
.CreateObject
(
"Scripting.FileSystemObject"
)
fic =
Server
.MapPath
(
"mon_dossier/mon_fich.ext"
)
set
inF =
FSO.CreateTextFile
(
fic)
inF.write
texte 'ecrit le texte
inF.writeLine
texte 'ecrit le texte sur une ligne
inF.writeBlankLines
(
5
) 'ecrit des lignes blanches
inF.close
%>
Pour faire le parcours du contenu on utilise folderitem et fileitem de l'objet FileSystemObject pour récupérer les répertoires et les fichiers.
<%
folderspec =
server
.mappath
(
"/"
&
"usagers/"
&
session
(
"FolderName"
) &
"/"
)
Set
fso =
CreateObject
(
"Scripting.FileSystemObject"
)
Set
Folder =
fso.GetFolder
(
folderspec)
cptSize =
0
cptSizeMo =
0
cptNv =
0
cptLu =
0
For
Each
folderitem in
Folder.subFolders
cptSizeMo =
cptSizeMo +
folderitem.size
cptSize =
cptSize +
folderitem.size
For
each
fileitem in
folderitem.Files
if
Right
(
fileitem.name
,6
)=
"Lu.eml"
then
cptLu =
cptLu +
1
else
cptNv =
cptNv +
1
end
if
%>
<table border
=
"0"
width
=
"100%"
>
<tr>
<td width
=
"20"
><input type
=
"checkbox"
name
=
"chk_
<%
=
fileitem.name
%>
"
></td>
<td width
=
"148"
><u><%
=
fileitem.Name
%></u></td>
<td width
=
"113"
><%
=
cptLu%></td>
<td width
=
"110"
><%
=
cptNv%></td>
<td width
=
"110"
align
=
"right"
><%
=
Replace
(
Round
(
fileitem.size
/
1024
,2
),","
,"."
) &
"k"
%></td>
</tr>
</table>
<%
Next
Next
%>