Originariamente inviato da Gab-81
Codice PHP:
function pvt_create_thumbnail($album_path, $img) {
// Original image information
list($width, $height, $type, $attr) =
getimagesize($album_path.'/images/'.$img);
// Creo la versione 87*65 dell'immagine
$thumb = imagecreatetruecolor(87, 65);
$source = imagecreatefromjpeg($album_path.'/images/'.$img);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 87, 65, $width, $height);
// Salvo l'immagine ridimensionata
imagejpeg($thumb, $album_path.'/thumbs/'.$img, 75);
chmod($album_path.'/thumbs/'.$img, 0766);
}
Grazie mille per la risposta, ma ti espongo il problema che ancora mi si pone. Dunque il mio script è fatto così: il form invia il file ad upload.php che si cura di verificare l'autenticità dell'immagine e, se ci sono errori, ferma l'upload e li stampa; se non ci sono procede a salvare il file prima nella variabile $url, poi nel db, nello specifico nei campi ID, URL e NOME. Il problema che mi si pone é: dove devo fare entrare in gioco la funzione?
Ho provato ad adattare la tua funzione alle mie esigenze:
Codice PHP:
function pvt_create_thumbnail($immagini, $url) {
// Original image information
list($width, $height, $type, $attr) =
getimagesize($urlimmagine);
// Creo la versione 87*65 dell'immagine
$thumb = imagecreatetruecolor(87, 65);
$source = imagecreatefromjpeg($urlimmagine);
imagecopyresized($thumb, $source, 0, 0, 0, 0, 87, 65, $width, $height);
// Salvo l'immagine ridimensionata
imagejpeg($thumb, $directory.'/thumbs/'.$urlimmagine, 75);
chmod($immagini.'/thumbs/'.$img, 0766);
}
Preciso che $url nasce da:
Codice PHP:
$url = $directory. time() . '-' . strtolower($_FILES['immagine']['name']);
e che in upload.php utilizzo già all'inizio getimagesize:
Codice PHP:
$dimensioni = getimagesize($_FILES['immagine']['tmp_name']);
per specificare che forse non è il caso di richiamarla, visto che è comunque pesante.
Infine, dopo i controlli:
Codice PHP:
if(count($errori) > 0) {
echo '[...]';
}
//upload
else { salvo in $url e nel db
Dove deve entrare la funzione?