HttpUploadedFile::isImage
- Honza Marek
- Člen | 1664
Na PS jsme domlouvali tuhle funkci.
btw: Proč není sekce feature request pod vývojem frameworku?
- David Grudl
- Nette Core | 8218
Jak to mělo fungovat? Že to načte getImageSize()? Nebude nakonec lepší použít MIMETYPE validaci?
- Honza Marek
- Člen | 1664
Cca (bool) @getimagesize($src)
. Mělo to hlavně pomoct zjistit
obrázky zpracovatelné pomocí Nette\Image, takže jiné typy než jpg, gif a
png možná ani nemají být obrázky.
- PetrP
- Člen | 587
Co spíš něco jako
public function isImage()
{
return in_array($this->getContentType(),array('image/gif','image/jpeg','image/png'));
}
aby to použilo fileinfo, mime_content_type, nebo až v nejhorším getimagesize
Teď když ale koukám na getContentType tak v první řadě nemá zavináč před getimagesize a pak může i použít type předanej clientem. Neměl by mít nějaký přepínač a raději vyhodit chybu než důvěřovat clientovi?
- David Grudl
- Nette Core | 8218
PetrP napsal(a):
Co spíš něco jako
public function isImage() { return in_array($this->getContentType(),array('image/gif','image/jpeg','image/png')); }
aby to použilo fileinfo, mime_content_type, nebo až v nejhorším getimagesize
Otázka je, jestli fileinfo a mime_content_type jsou nějak lepší než getimagesize, řekl bych že asi ne.
Teď když ale koukám na getContentType tak v první řadě nemá zavináč před getimagesize
K čemu by byl potřeba?
a pak může i použít type předanej clientem. Neměl by mít nějaký přepínač a raději vyhodit chybu než důvěřovat clientovi?
Nad tím váhám celé roky ;) Ale asi by bylo vhodnější tam dát
v případě neznámého typu application/octet-stream
- David Grudl
- Nette Core | 8218
PetrP napsal(a):
Tedka jsem objevil nepřijemnej problém (na hostmonsteru php 5.2.9)
mime_content_type('./test.png')
vracítext/plain
i když to je určitě png (dělá to jen u png).
Tak změním prioritu, getimagesize půjde jako první.
- PetrP
- Člen | 587
David Grudl napsal(a):
Teď když ale koukám na getContentType tak v první řadě nemá zavináč před getimagesize
K čemu by byl potřeba?
Občas mi to háze chyby, možná když je ten soubor spatně nahranej, nebo jestli se s ním něco stane pozdějc (isOk to nezachrání) až budu mít chvilku tak to zkusím podrobněji vyzkoumat.
Nad tím váhám celé roky ;) Ale asi by bylo vhodnější tam dát v případě neznámého typu application/octet-stream
Horší je ani na jednom hostingu co jsem zkoušel nemám
extension fileinfo
a jen na 2 je mime_content_type
ale jen na jednom z nich funguje správně
To znamená že nemám skoro nikde možnost jak zjistit content type jinde než u obrázků. ;//
Tedy bych možnost volitelně získat aspoň data od clienta ocenil.