Sono un neofita, da circa due settimane mi sono avvicinato a questo mondo. Sto mettendo un sito aggiornabile in tutte le sue pagine utilizzando ampiamente asp: UPLOAD di file, Gestine NEWS, CLASSIFICHE e esplora cartelle.
Ecco proprio l'ultima voce riguarda la discussione in oggetto. Ho scaricato l'articolo di Michele Mariotti "UN ESPLORA RISORSE IN ASP", nella sezione ASP AVANZATO. Ho provato lo script in locale e tutto ok. Ora vorrei modificarlo per caricarlo sul server, quindi su chi mi fornische l'hosting, e farlo funzionare per visualizzare alcuni contenuti (cartelle e file) contenuti nel sito e NON PER ACCEDERE ai file di sistema del server!!! Ho modificato il percorso nel file directory.asp con una sintassi del tipo (http://www.nomedominio.com/risorse/) ma giustamente non va. Ho anche eliminato il form che mi permette di modificare il path visto che non voglio cambiare il percorso, gli utenti devono restare in quella cartella!!!
I file originali li potete scaricare dall'articolo stesso. Vorrei allegare un file .zip ma qui non me lo permette. Alego gli script.
directory.asp
<%
Percorso = Trim(LCase(Request.QueryString("percorso")))
If Percorso = "" then
Response.redirect "index.asp?percorso=c:\"
Else
If Right(Percorso,1) <> "\" then Percorso = Percorso & "\"
%>
<FORM METHOD=GET ACTION="directory.asp">
<INPUT TYPE=TEXT NAME="percorso" VALUE="<%=Left(Percorso,2)%>">
<INPUT TYPE=SUBMIT VALUE="Cambia unitā">
</FORM>
<%
Mostra_Directory Percorso
End If
Function Mostra_Directory(cartella)
Set Fso = CreateObject("Scripting.FileSystemObject")
Set FL = fso.GetFolder(cartella)
Set SF = fl.SubFolders
If Len(cartella) > 3 then
Precedente = ""
For f = len(cartella)-1 to 1 step -1
If Mid(cartella,f,1) = "\" and Precedente = "" then
Precedente = Mid(cartella,1,f)
End If
Next
Response.write "..
"
End If
For Each FL in SF
Sotto_Cartella = FL.Name
If Len(cartella) < 3 then
Response.write Sotto_Cartella & "
"
Else
Response.write "" & Sotto_Cartella & "
"
End If
Next
End Function
%>
file.asp
<%
Percorso = Request.QueryString("percorso")
If Right(Percorso,1) <> "\" then Percorso = Percorso & "\"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(Percorso)
Set fc = f.Files
Numero_File = 0
FP = ""
DF = ""
For Each whatever in fc
Nome_File = Trim(LCase(whatever.name))
If Nome_File <> "" Then Numero_File = Numero_File + 1
' Analizza le estensioni dei file alla ricerca di quelli editabili
Select Case Right(Nome_File,4)
Case ".txt"
FP = FP & Nome_File & "
"
DF = DF & "File di testo
"
Case ".asp"
FP = FP & Nome_File & "
"
DF = DF & "Active Server Page
"
Case ".htm", "html"
FP = FP & Nome_File & "
"
DF = DF & "Pagina HTML
"
Case ".exe", ".com"
FP = FP & Nome_File & "
"
DF = DF & "File di programma
"
Case ".bat"
FP = FP & Nome_File & "
"
DF = DF & "File di programma (Batch)
"
Case ".mdb"
FP = FP & Nome_File & "
"
DF = DF & "Database Access
"
Case ".gif", ".jpg"
FP = FP & Nome_File & "
"
DF = DF & "Immagine GIF/JPEG
"
Case ".inc"
FP = FP & Nome_File & "
"
DF = DF & "File di inclusione
"
Case ".tmp"
FP = FP & Nome_File & "
"
DF = DF & "File temporaneo
"
Case Else
FP = FP & Nome_File & "
"
DF = DF & "
"
End Select
Next
%>
<FONT FACE="Arial" SIZE=2>
<%If Numero_File = 0 then%>
Nella directory corrente non sono presenti file.
<%ElseIf Numero_File = 1 then%>
E' stato trovato un solo file:<HR>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR>
<TD ALIGN=LEFT><FONT FACE="Arial" SIZE=2><%=FP%></FONT></TD>
<TD ALIGN=LEFT><FONT FACE="Arial" SIZE=2><%=DF%></FONT></TD>
</TR>
</TABLE>
<%Else%>
Sono stati trovati <%=Numero_File%> File:<HR>
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>
<TR>
<TD ALIGN=LEFT><FONT FACE="Arial" SIZE=2><%=FP%></FONT></TD>
<TD ALIGN=LEFT><FONT FACE="Arial" SIZE=2><%=DF%></FONT></TD>
</TR>
</TABLE>
<%End If%>
index.asp
<%
' Reperimento variabili
Percorso = Request.QueryString("percorso")
If Percorso <> "" then
Link_1 = "percorso.asp?percorso=" & Percorso
Link_2 = "directory.asp?percorso=" & Percorso
Link_3 = "file.asp?percorso=" & Percorso
Else
Link_1 = "percorso.asp"
Link_2 = "directory.asp"
Link_3 = "file.asp"
End If
%>
<FRAMESET ROWS="10%,* " FRAMEBORDER=0 BORDER=0 NORESIZE>
<FRAME NAME="percorso" SRC="<%=Link_1%>">
<FRAMESET COLS="25%,* " FRAMEBORDER=0 BORDER=0 NORESIZE>
<FRAME NAME="directory" SRC="<%=Link_2%>">
<FRAME NAME="file" SRC="<%=Link_3%>">
</FRAMESET>
</FRAMESET>
*qui tolgo i frame per inserire delle tabelle
percorso.asp
<%
' Verifica il valore del parametro "Percorso"
Percorso = Request.QueryString("percorso")
%>
<FONT FACE="Arial" SIZE=2><%=Percorso%></FONT>
Questo invece e' il leggimi allegato:
================================================== ========
Informazioni aggiuntive sul materiale allegato
all'articolo "Un esplora risorse in ASP"
di Michele Mariotti
http://www.ASPItalia.com/articoli/esplora_risorse.asp
================================================== ========
Come utilizzare gli esempi
Copiare tutti i files in una virtual directory del proprio server
web (es /esplora). Quindi lanciare http://127.0.0.1/esplora/directory.asp.
Responsabilitā limitata
ASPItalia e Michele Mariotti non sono responsabili per imprecisioni, errori o
omissioni contenuti negli esempi, nč per danni materiali o morali derivanti
dall'uso degli esempi
Proprietā
Gli esempi sono di proprietā ESCLUSIVA di ASPItalia. E' vietata la copia o la
diffusione senza il permesso scritto di ASPItalia.
================================================== ========
ASPItalia - La guida italiana a Windows NT (e non solo)
http://www.ASPItalia.com/index.asp?mariotti
================================================== ========
Grazie mille!!!

Rispondi quotando
