Velke obrazky skript nespracuje

Programovacie jazyky, rady, poradňa...
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Velke obrazky skript nespracuje

Príspevok od používateľa S.T.E.A.L.T.H »

Zdravim

Uploadujem na server obrazky, ktore nasledne spracovavam pomocou php. Subor klasicky presuniem pomocou move_uploaded_file a potom vytvaram este jeden tmp_*.jpg, pomocou nasledujuceho skriptu.

Kód: Vybrať všetko

.
.
.
$path = dirname(__FILE__).'/../avatars/'.$currentID.'/org_'.$filename;
$ratio = $width / 600;
$new_width = 600;
$new_height = $height / $ratio;
$_SESSION['ratio'] = $ratio;
	
header('Content-Type: image/jpeg');
							
$src = imagecreatefromjpeg($path);
$new_layout = imagecreatetruecolor($new_width, $new_height);
$path = dirname(__FILE__).'/../avatars/'.$currentID.'/tmp_'.$filename;
$_SESSION['tmp_path'] = './avatars/'.$currentID.'/tmp_'.$filename;
imagecopyresampled($new_layout, $src, 0, 0, 0, 0, $new_width, $new_height, $width,$height);
imagejpeg($new_layout, $path, 70);	
imagedestroy($new_layout);
imagedestroy($src);
.
.
.
Kde je problem... S uploadom relativne malych suborov (rozumiet +/- 1MB, 2000x1500), s tym nemam ziadny problem. Ako nahle pride nieco vacsie, skript sa zasekne a vypise mi len, ze obrazok
Obrazok sa neda zobrazit pretoze obsahuje chyby
. Preco som napisal relativne malych suborov? Mozno tam nie je vobec chyba, pretoze tam neviem najst ziadnu presnu suvislost (pravidelnost), co do velkosti alebo rozlisenia.

Dakujem za vsetky rady.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Velke obrazky skript nespracuje

Príspevok od používateľa audiotrack »

zakomentuj ten riadok s headerom, aby ti hodilo čistý výstup do prehliadača a pozri si chybu. Zrejme sa snaží alokovať viac pamäte ako má dovolené
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Velke obrazky skript nespracuje

Príspevok od používateľa weroro »

Ak potrebuješ spracovávať (zmenšovať) veľké obrázky, tak najideálnejšie je použiť ImageMagick
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: Velke obrazky skript nespracuje

Príspevok od používateľa S.T.E.A.L.T.H »

audiotrack napísal:zakomentuj ten riadok s headerom, aby ti hodilo čistý výstup do prehliadača a pozri si chybu. Zrejme sa snaží alokovať viac pamäte ako má dovolené
Ten riadok som tam ani povodne nemal, len som ho teraz pridal. Ked tam nie je, tak to nevypisuje nic.
Inak ked si dam vypisat echo, tak ide az pokial ho nepichnem za tento

Kód: Vybrať všetko

$src = imagecreatefromjpeg($path);
riadok.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Velke obrazky skript nespracuje

Príspevok od používateľa audiotrack »

ak ti nevypisuje nič, tak máš potlačené výpisy chybových hlášok. Uprav si to v php.ini, alebo tam pridaj na začiatok

Kód: Vybrať všetko

error_reporting(1);
error_reporting(E_ALL);
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: Velke obrazky skript nespracuje

Príspevok od používateľa S.T.E.A.L.T.H »

Napriek pridanym riadkom v kode sa nic nezmenilo. Stale ziadny vypis. V php.ini mam error reporting na E_ALL
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Velke obrazky skript nespracuje

Príspevok od používateľa audiotrack »

chybový log si pozeral?
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: Velke obrazky skript nespracuje

Príspevok od používateľa S.T.E.A.L.T.H »

Ani tam nie je nic :(

//edit

uz som aj v php.ini menil memory_limit, no bez uspechu
Numline1
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 858
Registrovaný: 04 dec 2006, 18:04

Re: Velke obrazky skript nespracuje

Príspevok od používateľa Numline1 »

Ked tie obrazky len upladnes, tak sa nahraju ok? Mozno mas len nizky upload_max_filesize
S.T.E.A.L.T.H
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 933
Registrovaný: 31 jan 2010, 14:44
Bydlisko: Pegasus Galaxy

Re: Velke obrazky skript nespracuje

Príspevok od používateľa S.T.E.A.L.T.H »

Obrazok sa nahra, len skolabuje imagecreatefromjpeg :(

//edit

tu https://bugs.php.net/bug.php?id=36726 som objavil presne rovnaky problem ako mam ja, ale nepomohlo mi to, lebo pamat pre skript som menil a nic sa nestalo

//edit

OK, problem solved, chyba bola nakoniec naozaj v maximalnej pamati

//edit

Tak este jedna vec, od coho zalezi, aky velky bude obrazok, po spracovani imagecreatefromjpeg. Myslel som, ze od rozlisenia, ale pridavam nejake obrazky a nechavam si vypisovat pamat pomocou

Kód: Vybrať všetko

memory_get_usage();
a nie je problem aby obrazok s rozlisenim polovicnym mal aj trojnasobnu velkost.
Napísať odpoveď