ciao.
ho creato questa funzione per ridimensionare le immagini , da profano:
codice:
function resizeImage($new_width, $new_height, $immagine_name){
$src_image = "uploads/".$immagine_name;
$dst_image = "uploads/resized".$immagine_name;
$image_p = imagecreatetruecolor($new_width, $new_height);
$dst_x = 0;
$dst_y = 0;
$src_x = 0;
$src_y = 0;
$dst_w = $new_width;
$dst_h = $new_height;
list($src_w, $src_h) = getimagesize("uploads/".$immagine_name);
$src_image = imagecreatefromjpeg("uploads/".$immagine_name);
echo(imagecopyresampled ( $image_p , $src_image , $dst_x , $dst_y , $src_x , $src_y , $dst_w , $dst_h , $src_w , $src_h ));
imagejpeg($image_p, "uploads/res".$immagine_name, 100);
imagedestroy($image_p);
imagedestroy($src_image);
}
lo faccio solo per i jpg e quello che gli passo sono solo .jpg solo che ogni tanto mi da quest errore:
codice:
Corrupt JPEG data: 57 extraneous bytes before marker 0xd9
a volte l'immagine passa senza errori , a volte mi da errori di questo tipo , mi chiedo se è colpa della mia funzione di ridimensionamento.
la chiamo cosi:
codice:
if (move_uploaded_file($_FILES["imm_principale"]['tmp_name'], "uploads/princ".$_FILES["imm_principale"]['name'])) {
resizeImage(185, 135, "princ".$_FILES["imm_principale"]['name']);
//Se l'operazione è andata a buon fine...
print "file caricato con successo2";
}
dove sbaglio?
se no avete una libreria php per fare il resize dell'immagine che funzioni, non come la mia.
grazie.