Forum de discussion
Forum « Programmation ASP » (archives)
Barre de sous-répertoires
Envoyé: 30 septembre 2002, 11h23 par Four
J'ai fait, en utilisant le FSO, une page qui liste le contenu d'un répertoire, d'un côté les sous-dossiers (cliquables et qui s'ouvrent...) et d'un autre côté les fichiers dans le dossier ouvert.
Afin d'optimiser le cheminement des utilisateurs, je souhaite afficher, en haut de la page, le chemin qu'ils suivent, afin qu'ils puissent choisir un répertoire supérieur, sans cliquer toujours sur le lien 'répertoire parent'. Du style :
racine -> répertoire1 -> répertoire2 -> répertoire3 -> répertoire courant
Voici la page en codes :
------------------------------------
<% response.expires = "-1" %>
<% IMG_dossier = "<IMG SRC=""pics/dossier.gif"" alt=""Sous-dossier"">" %>
<% IMG_pdf = "<IMG SRC=""pics/pdf.gif"" alt=""Document Acrobat Reader"">" %>
<% IMG_word = "<IMG SRC=""pics/word.gif"" alt=""Document Microsoft Word"">" %>
<% IMG_tqm = "<IMG SRC=""pics/tqm.gif"" alt=""Document TQM"">" %>
<% IMG_dossieropen = "<IMG SRC=""pics/dossieropen.gif"" alt=""Dossier ouvert"">" %>
<%
Dim dossier, chemin, dossierParent
Set objFs = Server.CreateObject("Scripting.FileSystemObject")
'Nous créons ici une instance du composant FileSystemObject sur le serveur.
dossier = Request.QueryString("dossier")
'La variable dossier contient le chemin du répertoire virtuel à parcourir; sa valeur par défaut est la racine de votre “home directory” ou répertoire de base.
chemin = Server.MapPath(dossier&"/")
'Nous utilisons la méthode MapPath de l’objet Server qui permet de retrouver le chemin réel correspondant au répertoire virtuel.
set objDossier = objFs.getFolder(chemin)
'Ici nous créons un objet Folder qui possède des propriétés de manipulation des répertoires.
%>
<html>
<head>
</head>
<body>
<div align="center">
<center>
<table border="0" width="86%" cellpadding="2">
<tr>
<td width="100%" colspan="2" align="center">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="82%">
<p align="center"><b><u><font size="4">Total Quality Managment</font></u></b></td>
<td width="18%">
<p align="right">
<%
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
dir = Server.MapPath("compteur/")
Fnm = dir & "\onlinetqm.txt" ' path du fichier
' IP du visiteur
IP=request.serverVariables("REMOTE_ADDR")
' Date/heure courante en minutes
date0 = dateDiff("n","30/09/2002",now)
' Durée de vie max
vie = 50
' Si le fichier existe, on le lit
if FSO.fileExists(Fnm) then
set inF = FSO.openTextFile(Fnm,1,false)
while not inF.atEndOfStream
' on lit chaque IP|minutes
ligne = inF.readLine
temp = split(ligne,"|",-1,1)
' différente de l'IP courante ?
if temp(0) <> IP then
' non périmée ?
if date0-CINT(temp(1))<=vie then
online = online + 1
result = result & ligne & VbCrLf
end if
end if
wend
inF.close
end if
' On ajoute le hit
result = result & IP & "|" & date0 & VbCrLf
online = online + 1
' Et on sauve
set inF = FSO.openTextFile(Fnm,2,true)
inF.write(result)
inF.close
' Affichage
%>
<font size=1><%=online%> utilisateurs en ligne</p>
</font>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%" colspan="2" align="center">
<table border="0" width="100%" cellspacing="1">
<tr>
<td width="49%" valign="top">
<font size="3">
<% if objDossier.Name = "tqm" then
nomdossier = "Total Quality Managment"
else
nomdossier = objDossier.Name
end if %>
<u>Dossier ouvert</u> :</font><font size="4"> <br>
<b><%=IMG_dossieropen%>
<%=nomdossier%></b></font></td>
<td width="51%" valign="top">
<p align="right"><input type="text" name="T1" size="28"><input type="submit" value="Rechercher le document" name="B1"></p>
</td>
</tr>
</table>
</td>
</tr>
</center>
<tr>
<td width="100%" valign="middle" colspan="2">
<p align="left"> <i>
<font size="2">
</font>
<font size="1">
<%
if dossier <> "/tqm" Then
dossierParent = Left(dossier, inStrRev(dossier, "/")-1) %>
<a href="arborescence.asp?dossier=<%=dossierParent%>">Retour au Répertoire Précédent</a><% end if %></font></i>
</td>
</tr>
<center>
<tr>
<td width="38%" valign="top">
<table border="0" width="312" cellspacing="0" cellpadding="0">
<tr>
<td width="310" valign="top" colspan="2">
<font size=2><u>Sous-dossiers</u> :</font>
</td>
</tr>
<tr>
<td width="310" colspan="2">
<hr noshade size="1">
</td>
</tr>
<tr><% for each sousDossier in objDossier.SubFolders %>
</center>
<td valign="middle" width="36">
<font size="2">
<p align="left">
<%=IMG_dossier%>
</font>
</td>
<center>
<td valign="middle" width="272">
<font size="2"> <a href="arborescence.asp?dossier=<%=dossier&"/"&sousDossier.Name%>"><%=SousDossier.Name%></a></font>
</td>
</tr>
<tr>
<td width="310" colspan="2">
<hr noshade size="1">
</td>
</tr>
<tr>
<td valign="middle" colspan="2" width="310">
</td>
</tr> <font size="2">
<% next %> </font>
</table>
</center>
</td>
<td width="62%" valign="top">
<div align="center">
<center>
<table border="0" cellspacing="0" width="100%" cellpadding="0">
<tr>
<td width="65%" valign="middle" colspan="2">
<u>
<font size="2">Nom des fichiers
</font></u></td><td width="35%" align="right" valign="middle">
<font size="2"><u>Dernière modification</u></font>
</td>
</tr>
<font size="2">
<tr>
<td width="100%" colspan="3">
<hr noshade size="1">
</td>
</tr>
<tr><% for each Fichier in objDossier.Files %>
<% if Fichier.Type = "Microsoft Word Document" then
IMG_file = IMG_word
else
if Fichier.Type = "Document Adobe Acrobat" then
IMG_file = IMG_pdf
else
IMG_file = IMG_tqm
end if
end if %>
<td valign="middle">
<font size=2><center>
<%=IMG_file%>
</center></font>
</td>
<td valign="middle"><font size=2>
<a href="<%=dossier&"/"&Fichier.Name%>" target="_blank">
<%=Fichier.Name%></a> <!-- <font size=1><i><%=Fichier.Type%></font></i> -->
</font>
</td>
</center>
<td valign="middle">
<p align="right"><font size="2">
<%=Fichier.dateLastModified%>
</font>
</td>
</tr>
<center>
<font size="2">
<center>
<tr>
<td width="100%" colspan="3" height="5">
<font size=2>
<hr noshade size="1">
</td>
</tr>
<% next
Set objFs = Nothing
Set objDossier = Nothing %>
</table>
</center>
</div>
</td>
</tr>
<tr>
<td width="100%" colspan="2">
</td>
</tr>
</table>
</div>
</body>
-----------------------------
Merci d'avance !
Réponses
|