- · Niveau : INTERMÉDIAIRE
- · Compatibilité : ITous les navigateurs
Le navigateur ouvre beaucoup plus rapidement un fichier texte qu’une base de données peut afficher un texte. Que ce soit des images, des textes ou tout ce qu’un navigateur peut ouvrir, les liens directes vers les fichiers d’un même répertoire peut-être affiché avec la fonction « GetFolder( ) ». De plus, pourquoi ne pas trier les fichiers par date de création !
Pour ce faire, vous devez obtenir la liste des fichiers (nom et date de création des fichiers) à l’aide de la fonction " GetFolder( ) ", trier les fichiers par date dans un tableau (array), et afficher le résultat sous forme de liens.
RESTRICTION, pour que cette technique fonctionne rapidement vous devez vous assurer que le répertoire ne contient que des fichiers valide. Sinon, il faut ajouter un test de condition pour valider les fichiers.
Code complet:
<% Option
Explicit %>
<html>
<head>
<title>Liens vers les fichiers d’un répertoire</title>
</head>
<body bgcolor="#FFFFFF">
<%
Dim fs, f, fTemp, fFichiers, repertoire, i, j, n
’ Tableau à deux dimensions (Array) pour garder les
’ informations des fichiers et un temporaire pour le tri
Dim lesFichiers(500,2), sTemp(1,2)
’ Variable contenant le nom du répertoire
’ où résident les fichiers. Vous pouvez entrer le nom
’ complet du répertoire (D:\Inetpub\wwwroot\site\repertoire)
’ ou le répertoire courant (Server.MapPath("."))
repertoire = Server.MapPath(".")
’ Ouvrir le répertoire et obtenir le nom des fichiers
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(repertoire)
Set fFichiers = f.Files
’ Mettre le nom et la date des fichiers dans un tableau (Array)
i = 0
For Each fTemp in fFichiers
i = i+1
lesFichiers(i,1) = fTemp.name
lesFichiers(i,2) = fTemp.DateCreated
Next
’ Trier la liste des fichiers
n = i
For i = 1 to n
for j = 1 to i
’ Inverser si la date de création est inférieure
If lesFichiers(i,2) < lesFichiers(j,2) Then
sTemp(1,1) = lesFichiers(i,1)
sTemp(1,2) = lesFichiers(i,2)
lesFichiers(i,1) = lesFichiers(j,1)
lesFichiers(i,2) = lesFichiers(j,2)
lesFichiers(j,1) = sTemp(1,1)
lesFichiers(j,2) = sTemp(1,2)
end if
next
next
%>
Le Tableau (array) " lesFichiers " contient maintenant la liste des fichiers du
répertoire trié par date de création. Il ne reste plus qu’à afficher les liens
(en format liste).
<ul>
<% For i = 1 to n %>
<li> <a href=<"%=lesFichiers(i,1)
%>">
<%=lesFichiers(i,1) %></a>
</li>
<%Next%>
</ul>
</body>
</html>