PHP  »  Articoli  »  Soluzioni in PHP 

Soluzioni in PHP: una galleria di immagini

di: Gino Giorgetti     27 Novembre 2008

Elenco delle gallerie

Sinora ci siamo preoccupati di creare le gallerie e di riempirle di immagini, ora iniziamo a vedere come visualizzare queste gallerie. Sia per elencare le gallerie che per visualizzare le immagini all'interno di ogni galleria utilizzeremo lo stesso metodo, con le opportune differenze.

if ($Contenuto = opendir($DirectoryGallerie))
   {
     while (false !== ($Dir = readdir($Contenuto)))
       { 
         if($Dir != "." && $Dir != "..")
               {
                  $Dir2   = str_replace("_", " ", $Dir);
                  echo $Dir2;
               }
         }
      
      closedir($Contenuto); 
}

Con la funzione opendir($DirectoryGallerie) possiamo aprire la directory che contiene le nostre gallerie per procedere alla lettura del contenuto, lettura che viene effettuata tramite la funzione readdir() che restituisce i nomi dei file contenuti nella directory secondo l'ordine con cui sono memorizzati nel filesystem.

Queste poche righe di codice sono utilizzabili anche per la lettura delle immagini nella galleria

if(strcasecmp($Estensione, "jpg") == 0 || strcasecmp($Estensione, "jpeg") == 0 || strcasecmp($Estensione, "gif") == 0 || strcasecmp($Estensione, "png") == 0)
   {
      $AltDellImmagine = str_replace("_", " ", $FileName);
      $UrlImmagineOriginale = "".$DirectoryDaAprire."/".$FileName."";
      echo "<img src=\"thumbnail.php?url=".$UrlImmagineOriginale."&x=100&e=".$Estensione."\" alt=\"".$AltDellImmagine."\" border=\"0\" />";
}

La differenza tra il codice precedente e questo è nell'if() che permette la visualizzazione solo di file in formato .jpg, .gif e .png.

Si noti che quando andiamo a chiamare il tag <img>, il valore passato come url di destinazione non è quello diretto alla foto, ma viene passato come url un file chiamato thumbnail.php che ha il compito di ricreare una miniatura dell'immagine originale.

Creare una thumbnail

Il file thumbnail.php contiene funzioni appartenenti alla libreria GD. La prima operazione è leggere il l'immagine originaria utilizzando la funzione corrispondente al formato del file

  • ImageCreateFromJPEG($NomeFile) per i file jpeg
  • ImageCreateFromGIF($NomeFile) per i file gif
  • ImageCreateFromPNG($NomeFile) per i file png
  • ImageCreateFromWBMP($NomeFile) per i file bitmap

Dopo aver letto il file dobbiamo provvedere a ridimensionare il file l'immagine utilizzando la funzione ImageCopyResized, dopo di che possiamo procedere a creare la nuova immagine. La funzione ImageJpeg ci permette di mettere in output l'immagine appena creata mostrandola in formato jpeg, ma è anche possibile fare lo stesso con immagini formato png (ImagePng) ed in formato gif (ImageGif) ma solo se si dispone di una versione delle librerie GD inferiore alla 2.0.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti