Autor | Zpráva | ||
---|---|---|---|
doominick Profil * |
#1 · Zasláno: 5. 9. 2009, 11:50:30
Řešil jsem na webu problém jak dostat k sobě obrázek z cízí domény... to se mi nakonec povedlo ale onen obrázek je načten jako textový řetězec. (Tohle není žádná extravagance, ale nutnost, protože na serveru mám safe_mode on, allow_url_include off a allow_url_fopen off, takže jiný způsob jak dostat obrázek z cizí domény v tom případě neznám)
Pokud ho vypíšu (echem) a přidám k němu správnou hlavičku tak se i zobrazí jako skutečný obrázek a s originálem na cizím webu je na bit shodý (má stejné informace o datovém typu, odpovídající rozměry a vůbec všechny meta informace). Problém je v tom, že když o tom obrázku chci zjistit nějaké informace nevím jak na to (textový řetězec obrázku mám v $obrazek) a teď co s ním... běžné funkce php pro práci s obrázky (http://us2.php.net/manual/en/ref.image.php) mi takhle nechtějí pracovat (imagejpeg($obrazek); nejde, imagecreatefromjpeg($obrazek); nejde, getimagesize($obrazek); nejde... prostě nic ). Tyhle funkce chtějí buď jméno souboru obrázku (které je na cizí doméně a kvůli omezení se tam nedotanu), nebo proměnou typu obrázek což je asi něco mírně jiného. Můžu tedy z toho řetězce nějak rozumně udělat obrázek a zjisti třeba jeho rozměry aniž bych ho musel uložit a znovu načíst (vždyť už ho tady mám načtený celý) ? |
||
doominick Profil * |
#2 · Zasláno: 5. 9. 2009, 14:13:26
Tak už jsem na to přišel sám... řešením bude nette framework, konkrétně Image::fromString($obrazek); a je to viz: http://api.nettephp.com/0.9.0/Nette/Image.html
už jsem se bál že nikdo s metodou obrázku v řetězci nepočítá |
||
Majkl578 Profil |
#3 · Zasláno: 5. 9. 2009, 16:25:33
vzdyt na to je i samotna funkce: http://us2.php.net/manual/en/function.imagecreatefromstring.php
|
||
doominick Profil * |
#4 · Zasláno: 5. 9. 2009, 16:59:31
no výborně... to bude asi ta samá
|
||
Majkl578 Profil |
#5 · Zasláno: 5. 9. 2009, 17:31:19
ano, to je... http://github.com/dg/nette/blob/ac84130a8cecbc2c80891d5581db895ee3769d5b/Nette/Image.php#LID131
nette pouzivam a muzu jej doporucit, ale pokud ti jde ciste jen o jednu funkci, tak bych mozna pouzil primo ji no ;) |
||
Časová prodleva: 15 let
|
0