Nette\Image::fromFile – stále hlásí ''Image is not valid."
- MartinitCZ
- Člen | 580
Na zkoušku tu máte tento kod:
$urls = array(
'http://www.dpscomputing.com/blog/wp-content/uploads/2012/03/php.jpg',
'http://upload.wikimedia.org/wikipedia/commons/2/27/Crystal_Clear_mimetype_php.png',
'http://www.netclues.ky/upimages/php.gif',
);
foreach ($urls as $url) {
$image = \Nette\Image::fromString(file_get_contents($url));
$image->save($_SERVER['DOCUMENT_ROOT'] . '/fromString-' . md5($url) . substr($url, strrpos($url, '.')));
}
foreach ($urls as $url) { // Zde to nikdy neprojde
$image = \Nette\Image::fromFile($url); // Image is not valid
$image->save($_SERVER['DOCUMENT_ROOT'] . '/fromFile-' . md5($url) . substr($url, strrpos($url, '.')));
}
Nette: Poslední github verze.
Php: v5.5.0
Apache: v2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.0
Nevíte, kde by mohl být chyba a jak to řešit?
Editoval martinit (11. 7. 2013 17:27)
- David Matějka
- Moderator | 6445
Nette\Image::fromFile pouziva imagecreatefromjpeg atd., ktery nepodporujou vzdaleny soubory
- MartinitCZ
- Člen | 580
Ale já mám povolené allow_url_fopen i allow_url_include a funkce fopen() – Example #1 funguje bez problémů.
Editoval martinit (11. 7. 2013 19:37)
- David Matějka
- Moderator | 6445
no lepsi bude asi si soubor ulozit lokalne a pak s nim neco udelat :)
- David Grudl
- Nette Core | 8232
Heh, na to jsem přišel, když jsem reportoval https://bugs.php.net/bug.php?… a Scott byl rychlejší ;)
- Filip Procházka
- Moderator | 4668
Btw, proč načítáš celý ten obrázek do paměti, když ho stejně chceš jenom uložit na disk?
- MartinitCZ
- Člen | 580
@**enumag**: Njn, ale jsem línej to přeinstalovat zpět na 5.4.x ;)
@**Filip Procházka**: Myslíš tím použít něco jako?:
file_put_contents('...../image.jpg', fopen("http://someurl/image.jpg", 'r'));
Poprvadě v Nette používám pro uložení obrázku vždy třídu Image, ikdyž s obrázkem nic nedělám.
- MartinitCZ
- Člen | 580
@**enumag**: Díky, neznal jsem tuhle funkci :)
PS: Asi tento topic někam zahodtě. S Nette to nemá nic společného. Nakonec se jednalo jen o PHP 5.5.0 Bug.