Jak zjistit jestli obrázek je JPG?
11 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mám formulář s inputem typu "file". Potřeboval bych vědět, jak Java Scriptem zjistit po zmáčknutí tlačítka pro odeslání formuláře, jestli nahrávaný soubor je typu JPG. Pokud by nebyl, akce se zruší. Díky
-
sorry omylem se to vložilo dvakrát
-
stringem... vezmeš poslední 3 písmenka, a pak to oIFuješ...
-
No a to se udela jak? Ja v java scriptu opravdu nejsem jako ryba ve vode. ;-)
-
No, vono to jde v PHP i v JS...
-
Netestoval som to, ale mohlo by to ísť nejako takto: <form action="upload.php" method="post" enctype="multipart/form-data" onsubmit="return this.subor.value.toLowerCase().substr(-4)=='.jpg'"> <input type="file" name="subor" /> </form> Prípadne ak chceš povoliť aj koncovky jpeg, tak môžeš aj nejako takto: return this.subor.value.match(/\.jpe?g$/i) JavaScript sa dá ľahko obísť, takže na serveri treba kontrolovať tiež, napr. takto: if (!in_array ($_FILES ['subor'] ['type'], array ('image/jpg', 'image/jpeg', 'image/pjpeg'))) echo 'nespravny typ suboru';
-
Podle koncovky je to pěkné a jednoduché. Ale co když někdo přejmenuje třeba ZIP na JPG ? Nevím, jak toto zkontrolovat. Pochopitelně je to v hlavičce souboru, ale do té se nedostanu.
-
los : Diky moc mp: Me staci pouha kontrola jestli to je jpg. Je to do systemu s inzerci a pochybuju ze se nekdo bude snazit nahravat tam zip. ;-) Popr. je omezena velikost na 0,5 mb.
-
los: Skvely funguje to, ale prosim te jak by se to dalo jeste osetrit, aby: Kdyz nezadam zadny obrazek, tak aby me to pustilo dal, pze td me to nepusti.
-
Máš na mysli ten JavaScript? Malo by stačiť povoliť prázdny reťazec: onsubmit="return (this.subor.value.match(/\.jpe?g$|^$/i)!=null)"
-
Jen bych se podelil o svuj postreh... Pokud v PHP (mam to treba v administraci -pridavani fotek do fotogalerie) kontroluju odeslany soubor na MIME typ (image/x-jpeg nebo tak nejak), zjistil jsem, ze ten se prirazuje take jen podle pripony. Pokud chci mit jistotu, ze se jedna opravdu o JPEG - a ne treba prejmenovany GIF, zpracuju po odeslani soubor a nactu z nej znaky 7-10(cca) a ty musej byt "JFIF" (podle hlavicky JPEGu). Pokud nejsou,soubor zahodim a nahlasim chybu.Tuhle kontrolu provadim kvuli tomu, ze pak s GD pouzivam na ten obrazek (obrazky) fci CreateImageFromJPEG() apod., tak musim mit jistotu o obsahu souboru. Nevite nekdo, jak by se to dalo udelat jinak, lepe?