Chyba v getimagessize

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
simon
Člen | 98
+
0
-

Zdravim, cas od casu mi v mailu pristane chyba zaslana ladenkou:

[2009-02-24 15:58:53] Notice: getimagesize() [<a href='function.getimagesize'>function.getimagesize</a>]: Read error! in /domains1/nh441700/public/libs/Nette/Image.php on line 106

Ten jediny soubor ktery pres Nette:Image nacitam ale opravdu existuje a zobrazuje v pohode.

na netu jsem se docetl ze je to nejspise nejaka chyba PHP a jeho funkce getimagessize. Taky jsem se docetl ze tato funkce je hodne pomala u velkych obrazku, protoze je obrazek natazeny cely do pameti.

Chci se zeptat zda by nestalo za zvazeni vypusteni teto funkcce z tridy Nette::Image, protoze podle zdrojaku je tam jen na zjisteni rozmeru a typu souboru? Rozmery se pry daji zjistit z prvnich nekolika bitu obrazku a typ souboru z pripony. Nebo aspon tak je to v jednom z komentaru (je tam i kod):
http://cz.php.net/…getimagesize

Jen se nad tim prosim zkuste zamyslet a klidne napad zavrhnete… Jen mne hned neodsuzujte:)

PetrP
Člen | 587
+
0
-

V první řáde je to jen jeden obrázek tedy getimagesize ;]

Jinak koukám a v GIFu se dá velikost přečíst z hlavičky.
V PNG taky, ale v JPGu se mi ho nepodařilo najít. Je tam moc blbostí a možná jsem to přehlédl. Můžeš zkusit udělat testy jestli je čtení hlavičky rychlejší.

simon
Člen | 98
+
0
-

Jasny, jednotny cislo. Vsichni ale vime o cem mluvim:)

Testy zkusim udelat docela me to zajima…

PetrP
Člen | 587
+
0
-

Schválně jestli se ti to podaří u i JPEGu protože možná to tam úplně nejde a proto musí i ta funkce natahovat ten soubor celej. Osobně se ale domnívám že se ti nepodaří získat žádnou velkou úsporu (možná i naopak). Na výsledek se ale těším. ;]

David Grudl
Nette Core | 8218
+
0
-

Co jsem se díval do zdrojových kódu PHP, tak (alespoň od verze 5.2.5) se načítá skutečně jen prvních pár bajtů.

simon
Člen | 98
+
0
-

Jj to jsem prave na lokalu zjistil tak:D Takze nema smysl delat nejaky testy. Spis by me jeste zajimala ta chyba. Nevite nekdo co ji muze zpusobovat?