Ho creato una funzione per gestire file jpg e png, ma ottengo un errore quando provo a caricare un file png.creazione file png
Questa è la funzione:
function createImg ($type, $src, $dst, $width, $height, $quality) {
$newImage = imagecreatetruecolor($width,$height);
if ($type == "jpg/jpeg") {
//imagecreatefromjpeg() returns an image identifier representing the image obtained from the given filename.
$source = imagecreatefromjpeg($src);
}
else if ($type == "png") {
//imagecreatefrompng() returns an image identifier representing the image obtained from the given filename.
$source = imagecreatefrompng($src);
}
imagecopyresampled($newImage,$source,0,0,0,0,$width,$height,getWidth($src),getHeight($src));
if ($type == "jpg/jpeg") {
//imagejpeg() creates a JPEG file from the given image.
imagejpeg($newImage,$dst,$quality);
}
else if ($type == "png") {
//imagepng() creates a PNG file from the given image.
imagepng($newImage,$dst,$quality);
}
return $dst;
}
funziona come dovrebbe con jpg, png ma con ottengo questo errore msg:
Attenzione: imagepng() [function.imagepng ]: gd-png: errore di libpng fatale: zlib non è riuscito a inizializzare compressore - errore di flusso in E: ... \ php \ functions.upload.php sulla riga 48
Attenzione: imagepng() [function.imagepng] : Errore di gd-png: setjmp ritorna in condizione di errore E: ... \ php \ functions.upload.php on line 48
EDIT:
Ho appena cambiato rimosso l'imagepng(); e usato solo imagejpeg e ha funzionato in questo modo, voglio solo i file jpg salvati comunque. Grazie!
cosa è sulla linea 48 –