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?
 

xone

Utente Attivo
4 Apr 2014
180
14
18
Salento
<img src="<?= $thumb; ?>" alt=""/> --> cosa sono quell'uguale "=" dopo l'apertura di <?
Molto probabilmente l'errore è quello quindi dovrebbe essere:
<img src="<? $thumb; ?>" alt=""/>
 

alemian95

Nuovo Utente
29 Mar 2016
6
0
1
<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:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
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" />
 

alemian95

Nuovo Utente
29 Mar 2016
6
0
1
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
 

alemian95

Nuovo Utente
29 Mar 2016
6
0
1
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?