- Home
- Categorie
- Coding e Sistemistica
- Coding
- Ridimensionare immagine
- 
							
							
							
							
							Ridimensionare immagineciao, 
 io usao uno script per creare delle immagine di certe misure.
 Di soltio lo uso per creare thumb, quindi ridemensionavo immagini gia presenti sul server.
 Questa volta invece ho bisogno di ridimensionare le immagini già durante l'upload..ma mi da questo errore:Warning: getimagesize(Array[tmp_name]) [function.getimagesize]: failed to open stream: No such file or directory in C:\Documents and Settings\Pc Alex\Desktop\host\gallovip\admin\crea_donna.php on line 15 Warning: Division by zero in C:\Documents and Settings\Pc Alex\Desktop\host\gallovip\admin\crea_donna.php on line 19 Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in C:\Documents and Settings\Pc Alex\Desktop\host\gallovip\admin\crea_donna.php on line 23 
 Impossibile creare l immagineEcco lo script: 
 $imagesize=GetImageSize("$_FILES[immagine][tmp_name]");
 $width=$imagesize[0];
 $height=$imagesize[1];
 if ( $width > $height) { $thumbWidth = 200; $thumbHeight = $height/($width/200); }
 else { $thumbWidth = $width/($height/250); $thumbHeight = 250; }
 $img = "$_FILES[immagine][tmp_name]";
 $dest = "$path/donne/$_POST[categoria]/$cartella/$spazi";
 $thumbComp = 5000000;
 $thumb = imageCreateTrueColor ($thumbWidth, $thumbHeight) or die("Impossibile creare l immagine");
 $src = imagecreatefromjpeg($img) or die ("Impossibile aprire l'immagine originale");
 imagecopyresized($thumb, $src, 0, 0, 0, 0, $thumbWidth, $thumbHeight, imageSx($src), imageSy($src)) or die("Impossibile ridimensionare l'immagine");
 imagejpeg($thumb, $dest, $thumbComp) or die("Impossibile salvare l immagine");
 
- 
							
							
							
							
							
L'errore è che non trova il file. 
 Prova innanzitutto a modificare questa riga:$imagesize=GetImageSize($_FILES[immagine][tmp_name]); se non funziona fai un 
 print_r($_FILES);E vedi cosa c'è. 
 
- 
							
							
							
							
							@Senamion said: L'errore è che non trova il file. 
 Prova innanzitutto a modificare questa riga:$imagesize=GetImageSize($_FILES[immagine][tmp_name]); se non funziona fai un 
 print_r($_FILES);E vedi cosa c'è. Gia' provato...non c'è nulla.. 
 
- 
							
							
							
							
							
Ma la form da cui parte il caricamento ha un parametro di questo tipo? <form enctype="multipart/form-data"
 
- 
							
							
							
							
							@Senamion said: Ma la form da cui parte il caricamento ha un parametro di questo tipo? ><form enctype="multipart/form-data" >``` Si si.. se lo faccio con un file presente sul server funge tutto...
 
- 
							
							
							
							
							
Con le GD installate e dopo aver caricato l'immagine sul server usa questa funzione: function resize_img($source, $destination, $width, $height) { if(!($sourceImage = @imagecreatefromjpeg($source))) { $image = imagecreate($width, $height); $colorWhite = imagecolorallocate($image, 255, 255, 255); $colorBlack = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $colorWhite); imagestring($image, 1, 1, 10, "Immagine non disponibile", $colorBlack); imagejpeg($image, $destination); return(FALSE); } $destinationImage = imagecreatetruecolor($width, $height); imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $width, $height, imagesx($sourceImage), imagesy($sourceImage)); imagejpeg($destinationImage, $destination); } ```Gli argomenti da passare sono nell'ordine (immagine di origine,immagine di destinazione,larghezza in pixel,altezza in pixel) ad esempio se vuoi ridimensionare un'immagine a 200x300 sovrascrivendola chiama:``` resize_img($path,$path,200,300)