Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Creazione galleria di foto

0 views
Skip to first unread message

Lis

unread,
Oct 26, 2004, 4:50:05 AM10/26/04
to
Sto cercando di realizzare, per il mio sito, un semplice meccanismo di
generazione automatica di gallerie di foto.
Vorrei che, per creare una galleria base (quindi senza descrizione nè
titolo) fosse possibile semplicemente caricare via ftp le immagini (in un
primo momento sia le immagini che le relative thumbnail).

Per il momento sto facendo delle prove per vedere se riesco a fare tutto con
2 sole pagine: gallery.php e show_image.php

gallery.php:
richiede come parametro il nome della gallery che dovrà corrispondere alla
sotto directory in cui ci saranno le foto. Quindi lo script partendo dal
parametro mette in un array l'elenco dei file nella directory, lo ordina e
crea la pagina indice con le immagini inserite in una tabella. Ogni immagine
sarà un link a show_image.php avente come parametri il nome della gallery e
il nome dell'immagine.
Esempio: http://lis.altervista.org/gallery.php?name=preferite
Il link alle immagini non funziona ancora

show_image.php:
questa pagina devo ancora studiarla e vorrei che diventasse qualcosa di
simile a quanto ho già
Esempio: http://lis.altervista.org/foto/preferite/imagepages/image3.php
Il "problema" di fondo è come passare a questa pagina i vari parametri per
la navigazione: inizialmente pensavo di passargli solo nome gallery e il
nome dell'immagine da visualizzare e poi avrebbe ricostruito in maniera
autonoma (leggendo il contenuto della directory, ricreando e riordinando
l'array nello stesso modo della pagina indice) il nome della
prima/ultima/precedente/successiva/ immagine, ma facendo così non
appesantirei troppo il server rendendo più lento il caricamento delle
pagine?
Passargli tutti i parametri mi sembra qualcosa di abominevole, e
l'alternativa che mi è venuta in mente è di usare una sessione che creo
quando entro in una gallery e in cui metto l'array con le immagini. In
questo modo non avrei bisogno di leggere ogni volta il contenuto della
directory (che potrebbe variare dai 10 ai 40-80 file, non penso di più).
Che strada mi consigliate di seguire?

1-ricostruire il tutto ogni volta
2-sessione

grazie
--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team
L'uomo è nato libero, ma ovunque è in catene (Jean-Jacques Rousseau)

Marco

unread,
Oct 26, 2004, 6:34:39 AM10/26/04
to
> Sto cercando di realizzare, per il mio sito, un semplice meccanismo di
> generazione automatica di gallerie di foto.
> Vorrei che, per creare una galleria base (quindi senza descrizione nè
> titolo) fosse possibile semplicemente caricare via ftp le immagini (in un
> primo momento sia le immagini che le relative thumbnail).

Hai provato a dare un'occhiata a prodotti già pronti?
Tipo Coppermine.

Ciao
Marco


Lis

unread,
Oct 26, 2004, 6:47:20 AM10/26/04
to
On Tue, 26 Oct 2004 12:34:39 +0200, Marco wrote:

> Hai provato a dare un'occhiata a prodotti già pronti?
> Tipo Coppermine.

ci ho pensato ma:
- al momento non ho un db
- vorrei fare qualcosa che si integri bene nel mio sito e che non sia
qualcosa di "posticcio"
- sono un programmatore (non web) e mi piace vedere e imparare cose nuove

Le cose che ho scritto nel post precedente sono delle bestialità oppure
erano talmente tante che è passata la voglia di leggerle? :-)

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

L’esperienza è un modo per dare un nome agli errori (Oscar Wilde)

Iw7

unread,
Oct 26, 2004, 7:24:00 AM10/26/04
to
Non ho letto attentamente quello che chiedi, ma prova a vedere la galleria
su http://iw7pcg.altervista.org perchè se è qualcosa del genere che cerchi
ti passo i sorgenti e vedi come ho risolto io, anche se in maniera piuttosto
sporca. Ah, dimenticavo, non uso nessun tipo di db e il tutto è realizzato
con soli 3 file php di cui 2 praticamente identici tra loro (uno sfoglia le
categorie e l'altro gli autori, ma il codice è pressocchè identico).
P.S. - l'indirizzo che ho indicato è solo il mio banco di prova, quindi non
ti sorprendere se troverai un sito praticamente vuoto.

Franco Ponticelli

unread,
Oct 26, 2004, 7:00:27 AM10/26/04
to
Decisamente la via della sessione. Leggere ogni volta la cartella
potrebbe essere inutilmente pesante, soprattutto se i file sono molti.

Lis

unread,
Oct 26, 2004, 8:08:07 AM10/26/04
to
On Tue, 26 Oct 2004 13:24:00 +0200, Iw7 wrote:

> P.S. - l'indirizzo che ho indicato è solo il mio banco di prova, quindi non
> ti sorprendere se troverai un sito praticamente vuoto.

Ho fatto un giretto ma sto cercando qualcosa di un pochino meno "popupposo",
penso di mantenere quello che sto facendo e usare le sessioni.
Non so se è solo perchè è un sito di prova, ma il sito all'indirizzo che mi
hai dato ha un pò di problemi con Firefox

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

L'uomo può credere all'impossibile, non crederà mai all'improbabile (Oscar
Wilde)

Lis

unread,
Oct 26, 2004, 8:09:16 AM10/26/04
to
On Tue, 26 Oct 2004 13:00:27 +0200, Franco Ponticelli wrote:

> Decisamente la via della sessione. Leggere ogni volta la cartella
> potrebbe essere inutilmente pesante, soprattutto se i file sono molti.

Ok, grazie. Domanda da ignorante di php: ci sono altri metodi per avere
delle variabili globali oltre a sessioni, parametri sull'indirizzo e cookies
(che non voglio usare)?

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

C'e' un solo modo di dimenticare il tempo: impiegarlo (Charles Baudelaire)

Iw7

unread,
Oct 26, 2004, 9:08:13 AM10/26/04
to
> Ho fatto un giretto ma sto cercando qualcosa di un pochino meno
"popupposo",
> penso di mantenere quello che sto facendo e usare le sessioni.
> Non so se è solo perchè è un sito di prova, ma il sito all'indirizzo che
mi
> hai dato ha un pò di problemi con Firefox

si, infatti è solo di prova e molte cose funzionano solo sotto IE e questa è
la prima volta che rendo pubblico l'indirizzo.
Per i popup è semplice rimuoverli, basta eliminare alcuni tag javascript che
trovi nel codice che ti ho passato e tutto continua a funzionare. Li ho
usati perchè odio cliccare continuamente per tornare all'indice, così invece
ho tutto sott'occhio (la risoluzione video che uso e 1280x1024),
Diversamente puoi dare un'occhiata anche all'album, che come hai visto ha
una struttura più semplice e compatta, comunque niente di eccezionale.
Provo le diverse soluzioni che mi vengono in mente e poi scelgo quella più
adatta alla necessità del momento.

Franco Ponticelli

unread,
Oct 26, 2004, 8:47:03 AM10/26/04
to
> Ok, grazie. Domanda da ignorante di php: ci sono altri metodi per avere
> delle variabili globali oltre a sessioni, parametri sull'indirizzo e cookies
> (che non voglio usare)?

Non hai citato i POST ma credo che li intendessi insieme ai parametri
sull'indirizzo...
Nelle funzioni standard di PHP non ci sono altri metodi (almeno non mi
viene in mente nulla). Di certo puoi implementare sistemi tuoi
utilizzando file condivisi o DB.
Le variabili globali propriamente dette sono però altra cosa... attento
a non fare confusione.

Franco Ponticelli

unread,
Oct 26, 2004, 8:50:42 AM10/26/04
to
> Per i popup è semplice rimuoverli, basta eliminare alcuni tag javascript che
> trovi nel codice che ti ho passato e tutto continua a funzionare. Li ho
> usati perchè odio cliccare continuamente per tornare all'indice, così invece
> ho tutto sott'occhio (la risoluzione video che uso e 1280x1024),
> Diversamente puoi dare un'occhiata anche all'album, che come hai visto ha
> una struttura più semplice e compatta, comunque niente di eccezionale.

Perchè invece delle popup non metti insieme pagina di index e pagina di
zoom ? Io avevo fatto qualcosa del genere in questa pagina e non mi
dispiaceva il risultato:
http://www.cusmilano.it/album/foto-francoforte/2908_jpg

Altra cosa: sconsiglio vivamente l'utilizzo delle tabelle per la
formattazione della griglia; sono troppo dipendenti dalla risoluzione
dell'utente... meglio delle foto "inline" che vanno a capo quando
devono... con CSS è facile ottenere effetti carini.

Iw7

unread,
Oct 26, 2004, 10:14:31 AM10/26/04
to
> Perchè invece delle popup non metti insieme pagina di index e pagina di
> zoom ? Io avevo fatto qualcosa del genere in questa pagina e non mi
> dispiaceva il risultato:
> http://www.cusmilano.it/album/foto-francoforte/2908_jpg

vado a dare un'occhiata, detta così l'idea non mi dispiace

> Altra cosa: sconsiglio vivamente l'utilizzo delle tabelle per la
> formattazione della griglia; sono troppo dipendenti dalla risoluzione
> dell'utente... meglio delle foto "inline" che vanno a capo quando
> devono... con CSS è facile ottenere effetti carini.

sto leggendo spesso di questo aspetto, ma detto sinceramente ho iniziato col
php perchè ho reso il mio archivio personale sul file-server consultabile
wia web con una grafica più uniforme. Le dimensioni della tabella sono state
scelte per avere una visibilità decente a partire dagli 800x600, e la scelta
di una tale soluzione è dettata dal mantenere bloccati testo e immagini in
posizioni ben precise di uno rispetto alle altre.
HTML e CSS ne so pochino, e ancora per quest'ultimo periodo non avrò molto
tempo da dedicargli, quindi soluzioni più eleganti non sono in grado di
realizzarne.


Franco Ponticelli

unread,
Oct 26, 2004, 10:07:05 AM10/26/04
to
> sto leggendo spesso di questo aspetto, ma detto sinceramente ho iniziato col
> php perchè ho reso il mio archivio personale sul file-server consultabile
> wia web con una grafica più uniforme. Le dimensioni della tabella sono state
> scelte per avere una visibilità decente a partire dagli 800x600, e la scelta
> di una tale soluzione è dettata dal mantenere bloccati testo e immagini in
> posizioni ben precise di uno rispetto alle altre.

Il problema non è solo per chi ha risoluzioni inferiori (il 640x480 è
ormai decisamente poco comune e i palmari non sono ancora così "ben
connessi" a internet), ma per chi ha risoluzioni molto maggiori.
Immagina un utente con risoluzione a 1600x1200 (situazione decisamente
non fuori dal comune, soprattutto in ambito grafico)... della sua
finestra massimizzata utilizzerebbe solo 1/4 dell'area totale...

Iw7

unread,
Oct 26, 2004, 11:21:12 AM10/26/04
to
> Immagina un utente con risoluzione a 1600x1200 (situazione decisamente
> non fuori dal comune, soprattutto in ambito grafico)... della sua
> finestra massimizzata utilizzerebbe solo 1/4 dell'area totale...

lo so, ma per il momento, vista la mia conoscenza del css, ho preferito non
sfruttare tutto lo schermo (con risoluzioni da te mensionate spesso si hanno
più finestre aperte contemporaneamente e neanche a tutto schermo), appena
affinerò le mie tecniche cercherò di realizzare qualcosa di più
presentabile.
Cmq grazie dei consigli e delle indicazioni, ne farò tesoro.

Lis

unread,
Oct 28, 2004, 6:02:15 AM10/28/04
to
On Tue, 26 Oct 2004 14:50:42 +0200, Franco Ponticelli wrote:


> Altra cosa: sconsiglio vivamente l'utilizzo delle tabelle per la
> formattazione della griglia; sono troppo dipendenti dalla risoluzione
> dell'utente... meglio delle foto "inline" che vanno a capo quando

> devono... con CSS č facile ottenere effetti carini.

Molto interessante: ho fatto una prova ma non riesco a perfezionarla. In
pratica le immagini possono essere di dimensioni diverse (alcune piů alte
che larghe e viceversa), ma io vorrei che si vedessero comunque in maniera
ordinata, come se fossero in una griglia. Cosě com'č ora sembrano un pň in
disordine. Come potrei fare?

Ecco l'esempio
http://lis.altervista.org/gallery.php?gallery=preferite

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

Se odi una persona odi qualcosa in lei che č parte di te. Ciň che non č
parte di noi stessi non ci disturba (Hermann Hesse)

Lis

unread,
Oct 28, 2004, 6:03:25 AM10/28/04
to
On Tue, 26 Oct 2004 14:47:03 +0200, Franco Ponticelli wrote:

> Nelle funzioni standard di PHP non ci sono altri metodi (almeno non mi
> viene in mente nulla). Di certo puoi implementare sistemi tuoi
> utilizzando file condivisi o DB.

ok, grazie per la precisazione

> Le variabili globali propriamente dette sono però altra cosa... attento
> a non fare confusione.

si, mi sono spiegato male ma ho capito il significato

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

Senza immaginazione la paura non esiste (Arthur Conan Doyle)

Franco Ponticelli

unread,
Oct 28, 2004, 6:20:34 AM10/28/04
to
Lis wrote:
> On Tue, 26 Oct 2004 14:50:42 +0200, Franco Ponticelli wrote:
>
>
>
>>Altra cosa: sconsiglio vivamente l'utilizzo delle tabelle per la
>>formattazione della griglia; sono troppo dipendenti dalla risoluzione
>>dell'utente... meglio delle foto "inline" che vanno a capo quando
>>devono... con CSS č facile ottenere effetti carini.
>
>
> Molto interessante: ho fatto una prova ma non riesco a perfezionarla. In
> pratica le immagini possono essere di dimensioni diverse (alcune piů alte
> che larghe e viceversa), ma io vorrei che si vedessero comunque in maniera
> ordinata, come se fossero in una griglia. Cosě com'č ora sembrano un pň in
> disordine. Come potrei fare?
>
> Ecco l'esempio
> http://lis.altervista.org/gallery.php?gallery=preferite
>

Procedi nel seguente modo:
- Inserisci tutte le miniature dentro un <div class="gallery">
- Ogni immagine deve essere inclusa in uno <span> (non c'č bisogno di
indicare una classe per lo span).
- Nel foglio di stile aggiungi:
div.gallery span {
width: 120px;
height: 120px;
display: block;
float: left;
}
Dove width e height devono essere sostituiti con le dimensioni massime
orizzontali e verticali delle tue miniature.
- Infine per evitare che anche il testo che segue venga allineato lo
inserisci in un <div class="br"> e aggiungi questo codice nel foglio di
stile:
div.br {
clear: both;
}

Semplice, no?

Lis

unread,
Oct 28, 2004, 8:36:59 AM10/28/04
to
On Thu, 28 Oct 2004 12:20:34 +0200, Franco Ponticelli wrote:

> Procedi nel seguente modo:
> - Inserisci tutte le miniature dentro un <div class="gallery">

> - Ogni immagine deve essere inclusa in uno <span> (non c'è bisogno di

> indicare una classe per lo span).

Ecco dove sbagliavo...io avevo provato a mettere uno span e tanti div. Ero
arrivato a pensare di dover mettere un "contenitore" dentro un altro ma
sbagliavo il come farlo

> - Nel foglio di stile aggiungi:
> div.gallery span {
> width: 120px;
> height: 120px;
> display: block;
> float: left;
> }

> Semplice, no?

In teoria è semplice, ma la mia conoscienza di html e css (e pure di php) è
molto ridotta.
Ora va già molto meglio, ma sto cercando di centrare l'immagine e il testo
all'interno di ogni singola "casella". Ora vengono tutte allineate a
sinistra.
Sto facendo ancora un pò di prove ma non ci riesco, restano sempre allineate
a sinistra. Ho provato aggiungendo l'attributo align al tag span oppure al
tag img ma non in fluisce in alcun modo. Stavolta cosa sto sbagliando?
Come riferimento per aiutarmi sto consultando
www.w3schools.com/css/css_positioning.asp, ma vedo che c'è solo un
vertical-align e non un horizontal-align

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

Parlare di tori non è la stessa cosa che essere nell'arena (proverbio
spagnolo)

Franco Ponticelli

unread,
Oct 28, 2004, 10:05:47 AM10/28/04
to

Gli allineamenti nei CSS sono uno dei problemi più grandi e che
probabilmente (speriamo) verranno risolti in una delle prossime versioni
delle specifiche. In ogni caso, l'allinamento orizzontale lo risolvi
semplicemente mettendo:

text-align: center;

nel div.gallery span

Quello verticale invece è proprio un vero problema. Il vertical-align è
infatti stato concepito per allineare elementi inline all'interno di
porzioni di testo e non è decisamente il tuo caso. Senza ricorrere ai JS
non mi viene in mente nessuna soluzione per questo problema, ma se ti è
davvero indispensabile fammi sapere che ci penso.

Lis

unread,
Oct 28, 2004, 11:34:41 AM10/28/04
to
On Thu, 28 Oct 2004 16:05:47 +0200, Franco Ponticelli wrote:

> Gli allineamenti nei CSS sono uno dei problemi più grandi e che
> probabilmente (speriamo) verranno risolti in una delle prossime versioni
> delle specifiche. In ogni caso, l'allinamento orizzontale lo risolvi
> semplicemente mettendo:
>
> text-align: center;

perfetto: avevo provato varie proprietà ma quella no (lavorando con un
immagine ignoravo che potesse essere quella giusta)

> Quello verticale invece è proprio un vero problema. Il vertical-align è
> infatti stato concepito per allineare elementi inline all'interno di
> porzioni di testo e non è decisamente il tuo caso.

Di quello verticale non ne ho bisogno più di tanto, grazie, hai già fatto
tanto così

--
Lis
Il mio sito: http://lis.altervista.org
Aiuta la ricerca contro il cancro: http://snurl.com/ida_team

Soltanto le persone forti sanno confidare le proprie debolezze e chiedere
conforto (Anonimo)

0 new messages