Zrobiłem funkcję do obsługi plików jpg i png, ale pojawia się błąd podczas próby załadowania pliku png.tworzenie plików png
to funkcja:
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;
}
działa jak należy z jpg, png ale otrzymuję ten błąd błędzie:
Warning: imagepng() [function.imagepng ]: gd-png: fatalny błąd libpng: zlib nie może zainicjować kompresora - błąd strumienia w E: ... \ php \ functions.upload.php na linii 48
Ostrzeżenie: imagepng() [function.imagepng] : Błąd GD-png: setjmp zwraca stan błędu E: ... \ php \ functions.upload.php na linii 48
EDIT:
Właśnie zmienił usunął imagepng(); i używałem tylko imagejpeg i działało tak, chcę tylko zachować pliki jpg. dzięki!
co jest na linii 48 –