Seguendo alcune guide, sono arrivare questo codice (per ora abbastanza sporco), che funge per JPG e GIF; Per quanto riguarda le PNG, soffre di un brutto problema, tutte le thumbs hanno lo sfondo nero!
Come si fa a farlo in modo corretto?
Ecco il codice:
THx!codice:// Directory in cui uppare l'immagine $uploaddir = IMG_ANN; // Nome dell'immagine da uppare $final_filename = PRE_IMG_GR."{$infoAnnuncio['idUtente']}{$infoAnnuncio['numeroCasuale']}".POST_IMG_GR; // Path completo per l'update $nuovaImg = $uploaddir.$final_filename; if( $dataBase->inserisciAnnuncio($infoAnnuncio) ) { print "Annuncio inserito! "; // ID dell'annuncio appena inserito $idAnnuncioInserito = $dataBase->getIdAnnuncio($infoAnnuncio['idUtente'],$infoAnnuncio['ipInvioAnnuncio'] ); print "Id Ultimo annuncio inserito : ".$idAnnuncioInserito." "; if (is_uploaded_file($_FILES['immagine']['tmp_name'])) { // Controllo di un corretto upload // Parametri dell'immagine inserita list($width, $height, $type, $attr) = getimagesize($_FILES['immagine']['tmp_name']); if( $type == 2 ) { $nuovaImg .= ".jpg"; } elseif( $type == 1 ) { $nuovaImg .= ".gif"; } elseif( $type == 3 ) { $nuovaImg .= ".png"; } // Se la copia va a buon fine si crea la thumbs if( copy($_FILES['immagine']['tmp_name'], $nuovaImg) ) { //if( move_uploaded_file($_FILES['immagine']['tmp_name'], $nuovaImg) ) { // Imposta i permetti all'immagine appena inserita chmod($nuovaImg, 0777); $src = $_FILES['immagine']['tmp_name']; print "TIPO : ".$type." "; // Controllo tipo immagine if( $type == 2 ) { $source = imagecreatefromjpeg($src); } elseif( $type == 1 ) { $source = imagecreatefromgif($src); } elseif( $type == 3 ) { $source = imagecreatefrompng($src); } if( $type != 1 ) { $thumb = imagecreatetruecolor(DIM_THUMBS, DIM_THUMBS); imagecopyresampled($thumb, $source, 0, 0, 0, 0, DIM_THUMBS, DIM_THUMBS, $width, $height); } else { $thumb = imagecreate(DIM_THUMBS, DIM_THUMBS); imagecopyresized($thumb, $source, 0, 0, 0, 0, DIM_THUMBS, DIM_THUMBS, $width, $height); } $uploaddir = IMG_ANNUNI_THUMB; $nomeThumb = PRE_IMG_PC."{$infoAnnuncio['idUtente']}{$infoAnnuncio['numeroCasuale']}".POST_IMG_PC; $nuovaImgThumb = $uploaddir.$nomeThumb; print "Immagine thumbs : ".$nuovaImgThumb." "; // Salvo l'immagine ridimensionata //imagegif($thumb, $nuovaImgThumb); if( $type == 2 ) { $nuovaImgThumb .= ".jpg"; } elseif( $type == 1 ) { $nuovaImgThumb .= ".gif"; } elseif( $type == 3 ) { $nuovaImgThumb .= ".png"; } if( $type == 2 ) { @imagejpeg($thumb, $nuovaImgThumb, 100); //@imagejpeg($thumb, '', 100); } elseif( $type == 1 ) { @imagegif($thumb, $nuovaImgThumb); //@imagegif($thumb); } elseif( $type == 3 ) { @imagepng($thumb, $nuovaImgThumb); //@imagepng($thumb); } chmod($nuovaImgThumb, 0777); imagedestroy($thumb); $fotoDaInserire[0]['urlGrande'] = $final_filename; $fotoDaInserire[0]['urlPiccola'] = $nuovaImgThumb; $fotoDaInserire[0]['desc'] = "IMMAGINE"; $fotoDaInserire[0]['nome'] = "IMMAGINE"; $dataBase->inserisciFotoAnnuncio($idAnnuncioInserito, $fotoDaInserire); print "UP OK! "; } else { print "ERRORE UPLOAD IMG "; } } else { print "Non è stato uppato niente "; }

Rispondi quotando