Autor | Zpráva | ||
---|---|---|---|
Ronny Profil * |
#1 · Zasláno: 22. 6. 2008, 14:31:33
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 |
#2 · Zasláno: 22. 6. 2008, 14:34:57
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 * |
#3 · Zasláno: 22. 6. 2008, 14:38:13
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 * |
#4 · Zasláno: 22. 6. 2008, 14:39:59
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 |
#5 · Zasláno: 22. 6. 2008, 14:47:36
ImageDestroy($img_zdroj); // uvolni pamet zdrojoveho obrazku
proč to po prvním uvolňuješ, když to budeš ještě potřebovat? |
||
Ronny Profil * |
#6 · Zasláno: 22. 6. 2008, 14:58:07
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 |
#7 · Zasláno: 22. 6. 2008, 15:28:33
Ronny
Podruhé ho načítáš zbytečně. Použij to první načtení. Ale fungovat by to imho mělo i takhle |
||
Časová prodleva: 16 let
|
0