oxoid Matos pas cher et bone qualité | ouais, j'avoue, ca m'interesserait aussi, il me semble sinon, que pour les gros gros fichiers, on m'a dit qu'un ftp serait mieux.
Sinon, encore des questions :
j'ai trouvé dirtlist 211 , c'est un petit programme qui permet également d'uploader etc, et qui en plus possède une petite interface pour voir les fichiers uploadé dans des dossiers etc.. enfin assez sympa, le problème est que je n'arrive pas à trouver le dossier "parent" a régler pour qu'il voit les fichiers que j'upload. je vous donne donc le code, et la fiche explicative (site) :
http://www.asp-magazine.com/fr/dirlist/
sinon, voilà le code, c'est assez long
Code :
- <%
- Response.expiresAbsolute=now()-1
- Response.buffer=True
- Server.ScriptTimeout=500
- action = Request.ServerVariables ("SCRIPT_NAME" )
- %>
- <%
- Sub ShowLoginForm
- response.write ("<form method=post action="& action &" id=form1 name=form1>" )
- response.write ("<table width=50% align=center border=0 cellspacing=0 cellpadding=0>" )
- response.write ("<tr bgcolor=#003366>" )
- response.write ("<td><table width=100% border=0 cellspacing=0 cellpadding=1>" )
- response.write ("<tr>" )
- response.write ("<td><font face=Verdana, Arial, Helvetica, sans-serif size=2 color=#FFFFFF><b>Administration</b></font></td>" )
- response.write ("</tr>" )
- response.write ("<tr>" )
- response.write ("<td><font face=Verdana, Arial, Helvetica, sans-serif size=2 color=#FFFFFF>Nom:</font>" )
- response.write ("<input type=text name=login size=8> </td>" )
- response.write ("</tr>" )
- response.write ("<tr>" )
- response.write ("<td><font face=Verdana, Arial, Helvetica, sans-serif size=2 color=#FFFFFF>pass:</font>" )
- response.write ("<input type=password name=pass size=8> </td>" )
- response.write ("</tr>" )
- response.write ("<tr align=center>" )
- response.write ("<td><input type=submit name=Submit value=Entrez class=button1> </td>" )
- response.write ("</tr>" )
- response.write ("</table>" )
- response.write ("</td>" )
- response.write ("</tr>" )
- response.write ("</table>" )
- response.write ("</form>" )
- End Sub
- %>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <style type="text/css">
- <!--
- .button1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9pt; color: #FFFFFF; text-decoration: none; background-color: #006699}
- -->
- </style>
- <title>Administration avec Dirlist: compte <%= session("dirusername" )%></title>
- <style>
- <!--
- td { font: 10pt Verdana, Arial, Helvetica, sans-serif; color: #0000FF; text-decoration: none; border: 0px none }
- // -->
- </style>
- <script language="javascript">
- function suppr_file(filename) {
- if (confirm('Souhaitez vous supprimer le fichier '+filename+' ?')) {
- document.forms['controle'].elements['filename'].value=filename
- document.forms['controle'].elements['typ'].value=0
- document.forms['controle'].submit()
- }
- }
- function modif_file(filename) {
- valeur=prompt('Donnez un nouveau nom à ce fichier : ',filename)
- if ((valeur) && (valeur!="" )) {
- document.forms['controle'].elements['filename'].value=filename
- document.forms['controle'].elements['filenamenew'].value=valeur
- document.forms['controle'].elements['typ'].value=1
- document.forms['controle'].submit()
- }
- }
- function modif_rep(repname) {
- valeur=prompt('Donnez un nouveau nom à ce répertoire : ',repname)
- if ((valeur) && (valeur!="" )) {
- document.forms['controle'].elements['repname'].value=repname
- document.forms['controle'].elements['repnamenew'].value=valeur
- document.forms['controle'].elements['typ'].value=2
- document.forms['controle'].submit()
- }
- }
- function suppr_rep(repname) {
- if (confirm('Souhaitez vous supprimer le répertoire '+repname+' ?')) {
- document.forms['controle'].elements['repname'].value=repname
- document.forms['controle'].elements['typ'].value=4
- document.forms['controle'].submit()
- }
- }
- function add_rep() {
- valeur=prompt('Donnez un nom au nouveau répertoire : ','')
- if ((valeur) && (valeur!="" )) {
- document.forms['controle'].elements['repnamenew'].value=valeur
- document.forms['controle'].elements['typ'].value=3
- document.forms['controle'].submit()
- }
- }
- </script>
- </head>
- <body style="font-family: Verdana, Arial" link="#FF0000" vlink="#FF0000" alink="#FF00FF">
- <%
- Dim OK
- OK=true
- If session("dirRepertoire" ) = "" then
- OK=False
- login = Request.Form ("login" )
- pass = Request.Form ("pass" )
- If login<>"" then
- '===================================================
- 'Modifications du 28/11/2000 rui - www.artofnet.com
- 'Modifications du 30/11/2000 jean-christophe - www.asp-magazine.com
- '===================================================
- '- Securité utilisateur
- 'au premier démarage du script on affiche un formulaire de connexion,
- 'si l'utilisateur est reconnu on affiche l'outil dirlist. La connexion
- 'reste valable durant toute la durée de la session. la base se trouve a
- 'pour chemin ./admart.mdb.
- 'Cette base de données est simpliste mais permet néanmoins un support
- 'multi-utilisateurs avec chacun le droit de modifier son répertoire propre.
- '- Utilisation avec la racine:
- 'correction du bug qui empechait l'utilisation de l'upload quand le
- 'répertoire parent était "" (soit donc la racine).
- '===================================================
- ' chaine de connexion
- connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath("." ) & "/admart.mdb"
- ' requête sql
- sql = "Select * FROM users WHERE nom='" & login & "' AND pass='" & pass & "'"
- Set conn = Server.CreateObject("ADODB.Connection" )
- conn.Open connstring
- Set rs = server.CreateObject ("ADODB.REcordset" )
- rs.Open sql,conn,3,3
- If not rs.eof then
- rs.movefirst
- session("dirusername" ) = rs.fields("nom" )
- session("dirRepertoire" ) = rs.Fields ("repertoire" )
- ok=True
- Else
- Response.Write "<script language=javascript>"
- Response.Write "alert('Les paramètres de connection son incorrects, veuillez recommencer');"
- Response.Write "</script>"
- ShowLoginForm
- End If
- rs.close
- set rs = nothing
- conn.close
- set conn = nothing
- Else
- ShowLoginForm
- End If
- end if
- if ok=true then
- 'si tout est OK on afiche la suite...
- ' DIRLIST de aspmagazine.com modifié par nc-technologies pour l'ajout d'upload de fichiers
- ' www.nc-technologies.com
- ' Les images se trouvent dans un dossier IMG
- msg=""
- dim parent
- dim encours
- dim Systeme_fichier
- dim Repertoire
- dim curseur
- '----- Le répertoire parent détermine le root de dirlist
- '----- "" indique qu'il s'agit de la racine du serveur
- '----- indiquez le root par exemple comme ceci : parent="/fr/mesdocs"
- '-***************************************************************************************************
- '-***************************************************************************************************
- Parent=session("" )
- '-***************************************************************************************************
- '-***************************************************************************************************
- ' SECURITE : Renaud COLAS - www.2si-systemes.fr
- ' Correction d'un problème de sécurité avec utilisation de .. dans la variable rep
- ' ---------------------------------------------------------------------
- encours=request("rep" )
- ' on vérifie que l'utilisateur ne passe pas de "../" dans le chemin
- if inStr(encours,".." )>0 then
- response.write("<script language=""javascript"">window.history.back()</script>" )
- response.end
- end if
- '---- SUPPRESSION D'UN FICHIER :
- '----
- if request("typ" )=0 and trim(request("filename" ))<>"" then
- '---- Supprime un répertoire spécifié par name et se trouvant dans root
- filename=replace(request("filename" ),"+"," " )
- Set fs=server.createObject("Scripting.filesystemObject" )
- If fs.FileExists(Server.mapPath(parent&encours&"/"&filename)) Then
- fs.deleteFile(Server.mapPath(parent&encours&"/"&filename))
- end if
- set fs=nothing
- end if
- '---- RENOMMAGE D'UN FICHIER
- '----
- if request("typ" )=1 and trim(request("filenamenew" ))<>"" then
- '---- Supprime un répertoire spécifié par name et se trouvant dans root
- filename=replace(request("filename" ),"+"," " )
- filenamenew=request("filenamenew" )
- Set fs=server.createObject("Scripting.filesystemObject" )
- Set f=fs.GetFile(Server.mapPath(parent&encours&"/"&filename))
- If fs.FileExists(Server.mapPath(parent&encours&"/"&filename)) Then
- If fs.FileExists(Server.mapPath(parent&encours&"/"&filenamenew)) Then
- msg="<font face=verdana color=red size=2>Impossible de renommer, un fichier du même nom existe déjà</font>"
- else
- f.name=filenamenew
- end if
- end if
- set fs=nothing
- end if
- '----- AJOUT D'UN REPERTOIRE
- '---
- if request("typ" )=3 and trim(request("repnamenew" ))<>"" then
- '---- Supprime un répertoire spécifié par name et se trouvant dans root
- '---- Renomme un répertoire spécifié par name et se trouvant dans root
- repnamenew=request("repnamenew" )
- Set fs=server.createObject("Scripting.filesystemObject" )
- Set f=fs.Getfolder(Server.mapPath(parent&encours))
- Set f1=f.Subfolders
- '---- Si le répertoire n'existe pas
- If not fs.FolderExists(Server.mapPath(parent&encours&"/"&repnamenew)) Then
- f1.add(repnamenew)
- else
- msg="<font face=verdana color=red size=2>Impossible d'ajouter, un répertoire du même nom existe déjà</font>"
- end if
- set f1=nothing
- set f=nothing
- set fs=nothing
- end if
- '----- RENOMMAGE D'UN REPERTOIRE
- '---
- if request("typ" )=2 and trim(request("repname" ))<>"" then
- repname=replace(request("repname" ),"+"," " )
- repnamenew=request("repnamenew" )
- Set fs=server.createObject("Scripting.filesystemObject" )
- Set f=fs.Getfolder(Server.mapPath(parent&encours&"/"&repname))
- '----- Si le répertoire existe
- If fs.FolderExists(Server.mapPath(parent&encours&"/"&repname)) Then
- If fs.FolderExists(Server.mapPath(parent&encours&"/"&repnamenew)) Then
- msg="<font face=verdana color=red size=2>Impossible de renommer: un répertoire du même nom existe déjà</font>"
- else
- f.name=repnamenew
- end if
- end if
- set f=nothing
- set fs=nothing
- end if
- '----- SUPPRESSION D'UN REPERTOIRE
- '---
- if request("typ" )=4 and trim(request("repname" ))<>"" then
- repname=replace(request("repname" ),"+"," " )
- Set fs=server.createObject("Scripting.filesystemObject" )
- If fs.FolderExists(Server.mapPath(parent&encours&"/"&repname)) Then
- fs.deleteFolder(Server.mapPath(parent&encours&"/"&repname))
- end if
- set fs=nothing
- end if
- ' UPLOAD : Nicolas CHU - www.nc-technologies.com
- ' Upload de n'importe quel fichier présent sur le disque
- ' ---------------------------------------------------------------------
- if request("Test" )=1 then ' test si c'est un upload
- ' On récupère le Nom du dossier en cours avec la variable rep sans le /
- Doss=Request("rep" )
- if Doss <>"" then
- nbCara=Len(Doss)-1
- Dossier = Right(Doss, nbCara)
- end if
- Dim bytecount, RequestBin,ContenuAscii, X, Y, Z, Position
- ' On récupère la totalité du post en mode binaire et sa taille
- byteCount = Request.TotalBytes
- RequestBin = Request.BinaryRead(bytecount)
- Dim UploadRequest
- Set UploadRequest = CreateObject("Scripting.Dictionary" )
- 'Appel de la fonction
- BuildUploadRequest RequestBin
- contentType = UploadRequest.Item("FileTO" ).Item("ContentType" )
- filepathname = UploadRequest.Item("FileTO" ).Item("FileName" )
- NomFichier = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\" ))
- value = UploadRequest.Item("FileTO" ).Item("Value" )
- ' NouveauFic représente le nom complet du chemin (chemin+nom)
- NomFichierCourt = right(NomFichier, (Len(NomFichier) - Position))
- if parent <> "" then
- NouveauFic = Server.MapPath(parent) & "\" & Dossier & "\" & NomFichierCourt
- else
- NouveauFic = Request.ServerVariables ("APPL_PHYSICAL_PATH" ) & Dossier & "\" & NomFichierCourt
- End if
-
- ' On ecrit le fichier sur le serveur
- Set FileObject = Server.CreateObject("Scripting.FileSystemObject" )
- Set Out=FileObject.CreateTextFile(NouveauFic, True)
- For I = 1 to LenB(value)
- Out.Write chr(AscB(MidB(value,I,1)))
- Next
- Out.close
- Set Out=nothing
- end if ' fin du test
- %>
- <%
- 'ouverture du systeme de fichiers
- Set Systeme_fichier=Server.createObject("Scripting.FileSystemObject" )
- 'création de l'objet répertoire
- Set Repertoire = Systeme_fichier.GetFolder(server.MapPath(parent&encours&"/" ))
- if encours<>"" and encours<>"/" then
- j=0
- for i=len(encours) to 1 step -1
- if mid(encours,i,1)<>"/" then
- j=j+1
- else
- exit for
- end if
- next
- papa=left(encours,len(encours)-j-1)
- else
- papa=""
- end if
- %>
- <%=msg%>
- <p align="center"><b>Fichiers de Transfert de L' INTRANET</b> <br>
- <hr>
- <table border="0" cellspacing="0" width="100%">
- <tr>
- <td width="25%" align="left"><p align="left"><strong><font face="Arial">Nom</font></strong></td>
- <td width="15%" align="left" size="2"><strong><font face="Arial">Taille</font></strong></td>
- <td width="25%" align="left" size="2"><strong><font face="Arial">Type</font></strong></td>
- <td width="20%" align="left" size="2"><strong><font face="Arial">Date</font></strong></td>
- </tr>
- <font face="Arial" size="2"><% if encours<>"" then %>
- <tr>
- <td><a href="<%= action %>?rep=<%=papa%>"><img src="img/up.gif" border="0"
- alt="dossier parent" WIDTH="20" HEIGHT="17"></a> </td>
- </tr>
- <tr>
- <td><% end if %>
- <%
- ' pour chaque sous répertoire dans le répertoire parent
- for each Curseur In Repertoire.SubFolders %>
- </td>
- </tr>
- <tr>
- <td><font face="Arial" size="2"> <a
- href="<%= action %>?rep=<%=encours%>/<%=Curseur.name%>"><img src="img/rep.gif"
- onmouseover="this.src='img/repopen.gif'" onmouseout="this.src='img/rep.gif'"
- align="absmiddle" width="22" height="18" border="0"></a> <a
- href="<%= action %>?rep=<%=encours%>/<%=Curseur.name%>"><%=Curseur.name %></a></font> </td>
- <td width="15%"></td>
- <td><font face="Arial" size="2" color="gray">Dossier</font> </td>
- <td width="20%"><font face="Arial" size="2" color="gray"><%=curseur.DateLastModified%></font> </td>
- <td><font face="verdana" size="1"><a
- href="javascript:modif_rep('<%=replace(curseur.name," ","+" )%>')">R</a></font></td>
- <td><font face="verdana" size="1"><a
- href="javascript:suppr_rep('<%=replace(curseur.name," ","+" )%>')">S</a></font></td>
- </tr>
- <% next ' repertoire suivant
- %>
- <tr>
- <td colspan="4"><hr>
- </td>
- </tr>
- <% ' pour chaque fichier dans repertoire parent
- for each Curseur In Repertoire.Files %>
- <tr>
- <td nowrap="nowrap"><%i = i+1
- if i=1 then response.write("<font face=Arial size=2><u>Liste des fichiers :</u></font><br>" )%>
- </td>
- </tr>
- <tr>
- <td> <%=i%> <a href="<%=parent%><%=encours%>/<%=curseur.name%>"><img
- src="img/<%response.write(Right(Curseur.name,3)&".gif" )%>" align="absmiddle" border="0"></a>
- <font face="arial" size="2"> <a href="<%=parent%><%=encours%>/<%=curseur.name%>"><%=Curseur.name%></a>
- </font></td>
- <td width="15%" align="right"><font face="Arial" size="2" color="gray"><%=formatnumber(curseur.Size/1024,2)%>
- Ko </font></td>
- <td><font face="Arial" size="2" color="gray"><%=curseur.Type%></font> </td>
- <td width="20%"><font face="Arial" size="2" color="gray"><%=curseur.DateLastModified%></font> </td>
- <td><font face="verdana" size="1"><a
- href="javascript:modif_file('<%=replace(curseur.name," ","+" )%>')">R</a></font></td>
- <td><font face="verdana" size="1"><a
- href="javascript:suppr_file('<%=replace(curseur.name," ","+" )%>')">S</a></font></td>
- </tr>
- <% next %>
- </table>
- <dl>
- <dd><br>
- <br>
-
- <form name="controle1" method="post" action="../Transfert/pages/transfert.asp">
- <input type="submit" name="test" value="Retour">
- </form>
- <p><br>
- <br>
- </font></p>
- </dd>
- <p align="center">Cliquez sur <b>R</b> pour renommer et sur <b>S</b> pour supprimer </p>
- </dl>
- </body>
- </html>
- <%
- End if
- ' Author Philippe Collignon
- ' Email PhCollignon@email.com
- Sub BuildUploadRequest(RequestBin)
- 'Get the boundary
- PosBeg = 1
- PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
- boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
- boundaryPos = InstrB(1,RequestBin,boundary)
- 'Get all data inside the boundaries
- Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--" )))
- 'Members variable of objects are put in a dictionary object
- Dim UploadControl
- Set UploadControl = CreateObject("Scripting.Dictionary" )
- 'Get an object name
- Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition" ))
- Pos = InstrB(Pos,RequestBin,getByteString("name=" ))
- PosBeg = Pos+6
- PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
- Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
- PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename=" ))
- PosBound = InstrB(PosEnd,RequestBin,boundary)
- 'Test if object is of file type
- If PosFile<>0 AND (PosFile<PosBound) Then
- 'Get Filename, content-type and content of file
- PosBeg = PosFile + 10
- PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
- FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
- 'Add filename to dictionary object
- UploadControl.Add "FileName", FileName
- Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:" ))
- PosBeg = Pos+14
- PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
- 'Add content-type to dictionary object
- ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
- UploadControl.Add "ContentType",ContentType
- 'Get content of object
- PosBeg = PosEnd+4
- PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
- Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
- Else
- 'Get content of object
- Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
- PosBeg = Pos+4
- PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
- Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
- End If
- 'Add content to dictionary object
- UploadControl.Add "Value" , Value
- 'Add dictionary object to main dictionary
- UploadRequest.Add name, UploadControl
- 'Loop to next object
- BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
- Loop
- End Sub
- 'String to byte string conversion
- Function getByteString(StringStr)
- For i = 1 to Len(StringStr)
- char = Mid(StringStr,i,1)
- getByteString = getByteString & chrB(AscB(char))
- Next
- End Function
- 'Byte string to string conversion
- Function getString(StringBin)
- getString =""
- For intCount = 1 to LenB(StringBin)
- getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
- Next
- End Function
- %>
|
bon je sais c'est assez chiant, mais là, j'ai mis tout, ce qui a mon avis est important c'est le "dossier parent", en fait, je sais pas quoi mettre dans : Paren = **** pour qu'il trouve mon dossier d'upload si par exemple c'est isrvad/transfert |