- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ridimensionare immagine
-
Ridimensionare immagine
ciao,
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)