Ciao a tutti, utilizzo il seguente codice per uplodare immagini sul sito:
Codice PHP:
do { if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']); }
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "Nessuna immagine è stata inserita nel database";
break;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('public/upload/'.$_FILES['image']['name'])) {
$msg = "<p>File già esistente nel database</p>";
break;
}
// Trova l'estensione del file
$estensione=strrchr($_FILES["image"]["name"],'.');
// Eventuale nuovo nome da dare al file uploadato
$immagine = $codice.$estensione;
$upload_dir = 'public/upload/';
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['image']['tmp_name'], "$upload_dir/$immagine")) {
$msg = "<p>Si è verificato un errore nel caricamento.</p>";
break;
}
///// CREA THUMBNAIL!!!!!
//variabili di configurazione
$cfg['srcpath'] = 'public/upload/';
$cfg['dstpath'] = 'offerte_articoli/immagini/';
$cfg['dest_width'] = 400;
$cfg['imgquality'] = 70;
//crea la miniatura del file indicato in $filename
function create_thumb($filename)
{
global $cfg;
$my_src_file = $cfg['srcpath'] . $filename;
$my_dst_file = $cfg['dstpath'] . $filename;
$src_img = imagecreatefromjpeg($my_src_file);
$size = getimagesize($my_src_file);
$src_width = $size[0];
$src_height = $size[1];
$quality = $cfg['imgquality'];
$dest_height = round(($cfg['dest_width'] * imagesy($src_img)) / imagesx($src_img));
$dst_img = imagecreatetruecolor($cfg['dest_width'], $dest_height);
imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $cfg['dest_width'], $dest_height, imagesx($src_img), imagesy($src_img));
imagejpeg($dst_img, $my_dst_file, $quality);
imagedestroy($src_img);
imagedestroy($dst_img);
}
create_thumb("$immagine","t_$immagine");
///// FINE CREA THUMBNAIL!!!!!!
} while (false);
echo $msg;
Vorrei modificarlo in modo che se l'immagine uplodata avesse la larghezza superiore all'altezza, la miniatura diventerebbe larga 400 px.
Mentre se l'altezza dell'immagine uplodata fosse maggiore della larghezza, allora la miniatura diventerebbe alta 400 px.
Non ci riesco, sto impazzendo, aiuto per favore.