Premesso che la cosa migliore è utilizzare immagini della giusta dimensione, e che anche in un sistema aperto dove è previsto l’upload di immagini, se vogliamo che le immagini siano di una certa dimensione, sarebbe opportuno farlo in fase di upload, propongo qui un semplice metodo per ridimensionare proporzionalmente le immagini con l’ausilio della funzione php getimagesize().
Supponiamo di dover visualizzare una certa immagine di dimensione 300×400 e volerla mostrare proporzionata a 150×200, ora conoscendo le dimensioni originali la cosa è molto semplice:
<img src="immagine.jpg" alt="descrizione immagine" width="150" height="200" />
in questo modo l’immagine immagine.jpg sarà mostrata più piccola, mantenendo le proporzioni di altezza e larghezza.
Però supponiamo di non conoscere le dimensioni e di volerla comunque mostrare mantenendo le proporzioni.
La funzione getimagesize() di php è molto utile.
Tale funzione restituisce infatti un array contenente tra l’altro la larghezza (width) e l’altezza (height) dell’immagine.
L’array sarà così costruito:
Array
(
[0] => 300
[1] => 400
[2] => 2
[3] => width="300" height="400"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)
Dove i primi due campi (0 e 1) sono relativi rispettivamente a larghezza e altezza. Pertanto lo script sarà il seguente:
<?php
// riempio l'array $image_info con i dati dell'immagine immagine.jpg
$image_info = getimagesize('immagine.jpg');
// qui mettiamo la dimensione desiderata per la larghezza // in questo caso riduco del 50% $width=$image_info[0]*0.5;
// qui mettiamo la dimensione desiderata per l'altezza // in questo caso riduco del 50% $height=$image_info[1]*0.5; ?>
<img src="immagine.jpg" alt="descrizione immagine" width="<?php echo $width; ?>" height="<?php echo $height; ?>" />
A questo punto l’immagine dovrebbe essere correttamente visualizzata a dimensioni dimezzate.

