abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 0
    včera 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 10
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    23.3. 14:44 | IT novinky

    Připojit neznámý USB flash disk do počítače může být nebezpečné. Dokonce může jít i o život. Někdo rozeslal ekvádorským novinářům USB flash disky, které po připojení do počítače explodují [BBC, Twitter].

    Ladislav Hagara | Komentářů: 2
    23.3. 13:33 | Nová verze

    Byla vydána nová verze 7.4 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu.

    Ladislav Hagara | Komentářů: 0
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 320 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: PHP - zmenšování obrázků

    FrostyX avatar 31.3.2010 14:03 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    PHP - zmenšování obrázků
    Přečteno: 1038×
    Příloha:

    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 ?

    FrostyX.cz | 1984 was not supposed to be an instruction manual.

    Řešení dotazu:


    Odpovědi

    31.3.2010 14:06 chrono
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    A aj si zisťoval, či tie obrázky sú naozaj png (a nie len majú takú príponu) a nie sú poškodené?
    FrostyX avatar 31.3.2010 14:20 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    Bohužel po ruce nemám linux, ale normálně jsem zkoušel v malování vytvořit nový soubor, uložil ho jako png a zkusil zmenšit. Vyhodilo mi to tu kratší hlášku (tu druhou).
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    31.3.2010 14:23 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    Není možný, že s tím soubrem ještě někde jinde něco děláš? Jako např. že ho v PHP zapisuješ a ve fopen zapomeneš nastavit binární flag...
    FrostyX avatar 31.3.2010 14:33 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    Mno ten obrázek nahrávám do složky, a potom v ní zmenšuju. Ale v tom uploadovacím scriptu by chyba být neměla, když jpg a gif jde ne ? ... Chyba bude někde v tom zmenšení ne ?
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    31.3.2010 14:57 chrono
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    Tie chyby pri funkcii imagepng spôsobuje to, že ako parameter pre kvalitu tam máš číslo 100 (pri png tam môže byť maximálne 9).

    Tú chybu pri imagecreatefrompng (nasledujúce s ňou súvisia) ale spôsobuje pravdepodobne to, že to nie je png obrázok, alebo to, že je poškodený. Čiže ideálne by najskôr bolo zistiť si o tom obrázku nejaké informácie a až potom ho ďalej spracovávať (a nespoliehať sa na to, že prípona je správna). Ak sa nemýlim, tak v php sa na také účely používa funkcia getimagesize.
    FrostyX avatar 31.3.2010 15:29 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    Ano, díky moc. Chyba byla v té kvalite. Všechno vyřešila následující úprava:
    if($format=='png')
    {
       $fce = 'image'.$format;
       $fce($image_p, $copypath, 9);
       unset($fce);
    }
    else
    {
       $fce = 'image'.$format;
       $fce($image_p, $copypath, 100);
       unset($fce);
    }
    FrostyX.cz | 1984 was not supposed to be an instruction manual.
    finc avatar 31.3.2010 16:44 finc | skóre: 8 | blog: Finc | Kolín
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků

    Nechci byt stoural, ale neslo by to napsat alespon nejak takto?

     
    $fce = 'image'.$format; 
    $fce($image_p, $copypath, ($format == 'png' ? 9 : 100)); 
    unset($fce); 
    

    Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!
    FrostyX avatar 31.3.2010 19:26 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc
    Rozbalit Rozbalit vše Re: PHP - zmenšování obrázků
    Mno to je podstatně lepší, než má varianta. Díky
    FrostyX.cz | 1984 was not supposed to be an instruction manual.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.