In molti casi aggiornare le gallerie fotografiche gestite attraverso i database risulta essere un lavoro lungo e dispendioso, un'alternativa è organizzare le immagini in cartelle per andarle a leggere direttamente sul disco.
Questo esempio propone un metodo funzionale per creare una galleria fotografica utilizzando l'oggetto FileSystemObject di ASP che permette facilmente di accedere alla struttura delle cartelle.
Replicando la struttura della galleria attraverso la struttura ad albero delle cartelle è possibile creare una galleria fotografica perfettamente funzionante con una manutenzione minima.
<%
Dim subfolder(50) ' elenco delle sottocartelle
Dim files(200) ' elenco dei files
Dim picture(200) ' elenco dei files con l'estensione cercata
'***Assegnazione delle variabili***
' informazioni sul percorso dell'immagine
percorso = Request.QueryString("path")
wwwpercorso = percoso
' Recupera la pagina web corrente
URL = Request.ServerVariables("URL")
' inizializzazione e assegnazione degli indici degli array
ifolder=1
ifiles=1
iImage=1
'***Valori da modificare***
' assegnazione del tipo di file da visualizzare
estensione="jpg"
' numero di Thumb per riga
numerothumb=4
Set fs = CreateObject("Scripting.FileSystemObject")
' se il percorso non è stato già scelto, viene impostato sulla cartella corrente
if (percorso = "") then
wwwpercorso = "./"
filepath = "./"
else
filepath = "./" & percorso
end if
' percorso assoluto del file
dbfile = Server.MapPath(filepath)
wwwpath = URL
Set f = fs.GetFolder(dbfile)
Response.Write("<a href=javascript:history.back(1)><B>Precedente</B></A><BR>")
' elenco sottocartelle
Set sf = f.SubFolders
For Each f in sf 'per ogni sottocartella ....
subfolder(ifolder) = subfolder(ifolder) & f.name
ifolder=ifolder+1
Next
do while ifolder>1
'se il percorso non è stato assegnato viene generato automaticamente...
if percorso="" then
link = wwwpath & "?PATH=" &(subfolder(ifolder-1))&">" & subfolder(ifolder-1)
else
link=wwwpath & "?PATH=" &percorso&"/"&(subfolder(ifolder-1))&">" & subfolder(ifolder-1)
end if
' link alla sottocartella
Response.Write "<img src=folder.GIF width=30 ><A HREF=" & link & "</A><br>"
ifolder=ifolder-1
loop
Set fl = fs.GetFolder(dbfile)
Set file = fl.Files
For Each fl in file
' Riempie l'array files con l'elenco dei files
files(ifiles) = files(ifiles) & fl.name
ifiles=ifiles+1
Next
'inserisce nella variabile totalefiles il numero dei file
totalefiles = ifiles
contenuti nella cartella
for x =0 to totalefiles
'verifica l'estensione di ogni file
if Right (files(x),3) = estensione then
picture(iImage)=files(x)
iImage=iImage+1
end if
next
' numero delle immagini
record = iImage-1
contenute nella cartella
indice=0
Response.Write("<table width=100% border=0>")
'Viene eseguito finchè esistono file...
do while record > indice
Response.Write("<tr>")
i=1
'stampa immagini per 'numerothumb' volte
do while ((i<numerothumb+1) and(record > indice))
Response.Write("<td> ")'inizio colonna
Response.Write("<div align=center><a href=" & wwwpercorso & "/" & picture(indice+1) & ">")
Response.write("<img src=" & wwwpercorso & "/" & picture(indice+1) & " width=150 height=114></a></div>")
Response.Write("<div align=center>" & picture(indice+1) & "</font>")
Response.Write("</td>")
indice = indice+1
i=i+1
loop
Response.Write("</tr>")
loop
Response.Write("</table>")
Set fl = Nothing
Set sf = Nothing
set f = Nothing
Set fs = Nothing
%>Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.







Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!
lo script funziona alla grande, e con la tecnica quick-sort le img vengono visualizzate in ordine alfabetico...veramente un buon lavoro con pochi kb ...
Continua »»» | Rispondi »»»