Autor Zpráva
Ronny
Profil *
Zdravím... při nahrátí třeba 4 obrázků na server při kopírování ještě obrázky zmenším na 2 menší rozměry, ukládám tedy jakoby 3 obrázky - 1 v původní velikosti, 1 v menší a třetí v nejmenší velikosti.

No a nastane ten problém, že z těch 4 nahrávaných obrázků se mi pouze ten první uloží ve třech velikostech, ale ty zbylé obrázky (3) pouze v té maximální... nevíte jak je to možné?
Nox
Profil
Možná chyba v cyklu...bez skriptu těžko říct

Každopádně při téhle operaci pozor na maximální dobu běhu skriptu a maximální paměť u operací s velkými obrázky může dojít k přečerpáním limitů
Ronny
Profil *
Nox
ja to prave pres cyklus neresim....
kousek kodu:
$obrazek = mysql_query("select nazev from obrazky WHERE zarazeni='".$posledni_id."'");
        $zaznam_obr = MySQL_Fetch_Array($obrazek);   
        
        $nacist = "upload/".$zaznam_obr["nazev"];
        $ulozit = "mini_".$zaznam_obr["nazev"];
        $img_zdroj = ImageCreateFromJPEG($nacist); // nacte obrazek ze souboru
        $img_cil = imagecreatetruecolor(100,100) or die(); // vytvori prostor pro cilovy obrazek
        
        imagecopyresampled($img_cil,$img_zdroj,0,0,0,0,100,100,ImageSX($img_zd roj),ImageSY($img_zdroj)); // zmensi obrazek
        ImageJPEG($img_cil,"upload/miniatury/$ulozit"); // zapisenovy obrazek do souboru
        ImageDestroy($img_zdroj); // uvolni pamet zdrojoveho obrazku
        ImageDestroy($img_cil); // uvolni pamet ciloveho obrazku  
        
        $nacist2 = "upload/".$zaznam_obr["nazev"];
        $img_zdroj2 = ImageCreateFromJPEG($nacist2); // nacte obrazek ze souboru
        $img_cil2 = imagecreatetruecolor(60,60) or die(); // vytvori prostor pro cilovy obrazek
        $ulozit2 = "nas_tip_".$zaznam_obr["nazev"];
        
        imagecopyresampled($img_cil2,$img_zdroj2,0,0,0,0,60,60,ImageSX($img_zd roj2),ImageSY($img_zdroj2)); // zmensi obrazek
        ImageJPEG($img_cil2,"upload/nas_tip/$ulozit2"); // zapisenovy obrazek do souboru
        ImageDestroy($img_zdroj2); // uvolni pamet zdrojoveho obrazku
        ImageDestroy($img_cil2); // uvolni pamet ciloveho obrazku 
Ronny
Profil *
Nox
zde si prave ten obrazek z puvodni velikosti zmensuju na 2 ruzne velke nahledy.... a pri zmensovani treba 3 obrazku se mi zmensi jen ten prvni jak ma, u tech zbylych dvou se nahledy nevytvori, nakopiruje se pouze obrazek s jejich puvodni velikosti...
souki
Profil
ImageDestroy($img_zdroj); // uvolni pamet zdrojoveho obrazku

proč to po prvním uvolňuješ, když to budeš ještě potřebovat?
Ronny
Profil *
souki
ja ji uvolnuji pro jednu promennou, jeden obrazek.... a pak ji ukoncim ... potom pracuju s druhym a tu pamet ukoncim i pro druhy obrazek... kdybych tu prvni neukoncil a ukoncil az pro ten druhy obrazek, tak mi zustane neuvolnena pamet z toho prvniho obrazku, nebo ne? ...je to jen muj nazor, nejsem nejak zbehly programator, tak je mozny ze si to myslim spatne:D
souki
Profil
Ronny
Podruhé ho načítáš zbytečně. Použij to první načtení. Ale fungovat by to imho mělo i takhle

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0