Portál AbcLinuxu, 14. května 2025 00:45
Ahoj, stáhl jsem si takovou funcki pro zmenšování obrázků, aby se na server neuploadoval obrázek o velikosti třeba 1MB. Fungovala jen pro jpg, tak se ji snažím rozšířit ještě pro png a gif. Celou funkci jsem dal do přílohy.
Mám takový problém, že nefunguje zmenšování png obrázku. Skončí to chybovou hláškou:
Warning: imagecreatefrompng() [function.imagecreatefrompng]: 'img/thumb/dad.png' is not a valid PNG file in C:\Program Files\EasyPHP5.3.0\www\upload_obrazku\zmenseni_obrazku.php on line 49
Warning: imagecopyresampled() expects parameter 2 to be resource, boolean given in C:\Program Files\EasyPHP5.3.0\www\upload_obrazku\zmenseni_obrazku.php on line 56
Warning: imagepng() [function.imagepng]: gd-png: fatal libpng error: zlib failed to initialize compressor -- stream error in C:\Program Files\EasyPHP5.3.0\www\upload_obrazku\zmenseni_obrazku.php on line 59
Warning: imagepng() [function.imagepng]: gd-png error: setjmp returns error condition in C:\Program Files\EasyPHP5.3.0\www\upload_obrazku\zmenseni_obrazku.php on line 59
Nebo občas jen tímto:
Warning: imagepng() [function.imagepng]: gd-png: fatal libpng error: zlib failed to initialize compressor -- stream error in C:\Program Files\EasyPHP5.3.0\www\upload_obrazku\zmenseni_obrazku.php on line 59
Warning: imagepng() [function.imagepng]: gd-png error: setjmp returns error condition in C:\Program Files\EasyPHP5.3.0\www\upload_obrazku\zmenseni_obrazku.php on line 59
Obrázky ve formátu gif a jpg normálně fungují - nejde jen ten png. Nevíte nekdo co s tím ?
Řešení dotazu:
if($format=='png')
{
$fce = 'image'.$format;
$fce($image_p, $copypath, 9);
unset($fce);
}
else
{
$fce = 'image'.$format;
$fce($image_p, $copypath, 100);
unset($fce);
}
Nechci byt stoural, ale neslo by to napsat alespon nejak takto?
$fce = 'image'.$format; $fce($image_p, $copypath, ($format == 'png' ? 9 : 100)); unset($fce);
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.