Salve a tutti. Ho un piccolo problema con lo script di upload immagini. Vorrei infatti fare in modo che se i controlli sono passati e non ci sono errori, oltre che all'upload standard dell'immagine si proceda anche con una creazione della thumbnail. Quindi, se ci sono errori, li stampo ed interrompo l'upload, altrimenti (else) procedo con l'upoload. Nel sito ho trovato questa funzione che fa al caso mio. Quindi la includo in upload.php e la richiamo se appunto non ci sono errori:
Codice PHP:
function OutThumb($src, $w, $h){
$size = getimagesize($src);
if( $size[2] == 2 ){$im = @imagecreatefromjpeg($src);}
elseif( $size[2] == 1 ){$im = @imagecreatefromgif($src);}
elseif( $size[2] == 3 ){$im = @imagecreatefrompng($src);}
$newwidth = $size[0];
$newheight = $size[1];
if( $newwidth > $w ){
$newheight = ($w / $newwidth) * $newheight;
$newwidth = $w;
}
if( $newheight > $h ){
$newwidth = ($h / $newheight) * $newwidth;
$newheight = $h;
}
if( (GDVersion() == 2) AND ($size[2] != 1) ){
$new = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($new, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
}
else{
$new = imagecreate($newwidth, $newheight);
imagecopyresized($new, $im, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
}
header('Content-Type: ' . $size['mime']);
if( $size[2] == 2 ){@imagejpeg($new, '', 100);}
elseif( $size[2] == 1 ){@imagegif($new);}
elseif( $size[2] == 3 ){@imagepng($new);}
@imagedestroy($im);
@imagedestroy($new);
La domanda è: come faccio a stabilire il percorso dove la thumb verrà salvata e la sua URL?