Ridimensionare immagini in PHP

alemian95

Nuovo Utente
29 Mar 2016
6
0
1
Salve a tutti, per il sito che sto costruendo ho la necessità di ridimensionare alcune immagini lato server, in modo tale da rendere più leggera la pagina al momento del caricamento da parte dell'utente. Uso il seguente codice:
PHP:
<?
list($width, $height, $type, $attr) = getimagesize($img_path);
$thumb = imagecreatetruecolor(50, 50 * $height / $width);
if($type == 2) $source = imagecreatefromjpeg($img_path);
if($type == 3) $source = imagecreatefrompng($img_path);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 50, 50 * $height / $width, $width, $height);
?>
<img src="<?= $thumb; ?>" alt=""/>

Però l'immagine non viene mostrata, come posso fare per mostrare l'immagine ridimensionata senza per forza doverla salvare nel server?
 
<img src="<?= $thumb; ?>" alt=""/> --> cosa sono quell'uguale "=" dopo l'apertura di <?
Molto probabilmente l'errore è quello quindi dovrebbe essere:
<img src="<? $thumb; ?>" alt=""/>
 
<img src="<?= $thumb; ?>" alt=""/> --> cosa sono quell'uguale "=" dopo l'apertura di <?
Molto probabilmente l'errore è quello quindi dovrebbe essere:
<img src="<? $thumb; ?>" alt=""/>

<?= $thumb ?> è l'equivalente di <? echo $thumb ?> non è quello l'errore, più che altro penso che sia sbagliato mettere in src $thumb, e sicuramente c'è qualcos'altro da fare prima però non ho mai trovato qualcuno con un problema simile, tutti preferiscono salvare nel server l'immagine ridimensionata al momento dell'upload ma disponendo di poco spazio preferirei evitare
 
Ultima modifica:
ciao
è meglio non usare gli short tag <? ma <?php e <?php echo $thumb;

poi se non la salvi da qualche parte src dove va a trovarla?
comunque quando chiami la pagina prova dal bw a guardare il sorgente dovresti trovare qualcosa del genere
HTML:
<img src="pinco_pallo.jpg" width="xy" height="wz" alt="pinco_pallo" />
 
La variabile $img_path da dove la prendi?
La prendo da una lettura del database, non ho allegato quel codice perché so che il percorso ($img_path appunto) è giusto, se faccio <img src="<?= $img_path ?>" alt=""/> l'immagine viene visualizzata
 
ciao
è meglio non usare gli short tag <? ma <?php e <?php echo $thumb;

poi se non la salvi da qualche parte src dove va a trovarla?
comunque quando chiami la pagina prova dal bw a guardare il sorgente dovresti trovare qualcosa del genere
HTML:
<img src="pinco_pallo.jpg" width="xy" height="wz" alt="pinco_pallo" />

Dal sorgente vedo questo:
HTML:
<img src="Resource id #87" class="img-responsive" alt=""/>

E fin qui so che è sbagliato per cui c'è un modo per creare un'immagine "temporanea", se così si può dire, e far caricare all'utente quella?

PS Perché è meglio non usare gli short tag?
 

Discussioni simili