Codice PHP:
foreach (glob("nomecartella/*.{jpg,png,gif}", GLOB_BRACE) as $filename) { echo "<img class='gallery' src='$filename' alt='' />"; }
Un ciclo foreach scorre gli elementi dell'array individuato dalla funzione glob, elementi che corrispondono al percorso/nome di ogni file immagine con estensione specificata tra le parentesi graffe grazie al parametro GLOB_BRACE che permette di indicare più pattern di ricerca quindi, nel nostro caso, immagini con tre diverse estensioni. Ad ogni iterazione il ciclo genera con echo la riga di codice HTML necessaria per visualizzare l'immagine.
Nell'esempio abbiamo integrato inoltre queste caratteristiche:
- il nome del file immagine viene assegnato al valore dell'attributo alt
$nomefile = pathinfo(basename($filename)); [...] alt='".$nomefile['filename'].'
- le miniature quadrate vengono create a partire dall'immagine originale, indipendentemente dal suo aspect ratio, grazie allo script PHP Smart Image Resizer
src='http://example.com/nomecartella/image.php?width=90&height=90&cropratio=1:1&image=http://example.com/nomecartella/$filename'
- inserito un link all'immagine originale che viene visualizzata in showbox grazie alla funzione JavaScript descritta in questo post
$imgsize = getimagesize ($filename); [...] <a href="$filename" onclick="fullboximg(\"$filename\", $imgsize[0], $imgsize[1], 15, 2); return false;">[...]</a>
Questo il codice PHP completo:
<?php foreach (glob("nomecartella/*.{jpg,png,gif}", GLOB_BRACE) as $filename) { $imgsize = getimagesize ($filename); $nomefile = pathinfo(basename($filename)); echo "<a href='$filename' onclick='fullboximg(\"$filename\", $imgsize[0], $imgsize[1], 15, 2); return false;'><img class='gallery' src='http://example.com/nomecartella/image.php?width=90&height=90&cropratio=1:1&image=http://example.com/nomecartella/$filename' alt='".$nomefile['filename']."' /></a>"; } ?>
Per approfondire l'argomento:
salve, esiste qualcosa di completo e che possa essere integrato.. uno script dove cambiare alcuni parametri e usarlo? grazie
RispondiEliminaCiao,
Eliminaveramente il codice PHP da usare è già tutto presente nell'articolo... comunque adesso lo abbiamo riportato interamente in fondo all'articolo. Dovrai personalizzare il nome della cartella in cui si trovano le immagini e il percorso del sito. Puoi ricavare il resto del codice (CSS e JS) dal sorgente della demo online.
Ti facciamo presente che lo script per la visualizzazione dell'immagine ingrandita non è responsive.
ok, grazie, io ho scritto così.. ma non carica nulla..
RispondiEliminanomecartella/*.{jpg,png,gif} con https://www.nasosan.it/alima/originali/1/*.{JPG}
http://example.com/nomecartella/image.php?width=90&height=90&cropratio=1:1&image=http://example.com/nomecartella/ con https:///www.nasosan.it/alima/originali/1/image.php?width=90&height=90&cropratio=1:1&image=https:///www.nasosan.it/alima/originali/1/
mentre se carico una immagine con lo stesso percorso la visualizzo regolarmente.. https://www.nasosan.it/alima/originali/1/ALima00001.JPG
può essere che ci sono 5k foto in quella cartella? quindi non riesce a visualizzarle?
grazie ancora per la velocità e la gentilezza dimostratami. ;)
Ciao,
Eliminail file image.php (Smart Image Resizer) non è presente nella cartella indicata nel percorso assoluto.
Ti consigliamo di utilizzare la versione modificata da Lucio Rota: trovi il link in fondo all'articolo.
Imoltre, 5000 foto potrebbero crearti problemi, prova a suddividerle in più cartelle.