ugrás a tartalomhoz

Feltöltött fájl típusának ellenőrzése böngészőfüggő?

Fedor · 2006. Ápr. 12. (Sze), 16.03
Hello!

Készítettem egy képfeltöltő alkalmazást, Explorer alatt dolgoztam, így csak most vettem észre, hogy Firefox alatt nem müxik tökéletesen.

IE alatt ezzel tudom megállapítani, hogy jpg-t próbálnak -e feltölteni:

<?php
if ( $_FILES['foto']['type']!="image/pjpeg" ) : 
   echo "A feltölteni kívánt fájl kiterjesztése nem jpg, hanem ".$_FILES['foto']['type'].".";
endif;
?>
Viszont Firefox alatt csak ez megy:

<?php
if ( $_FILES['foto']['type']!="image/jpeg" ) : 
   echo "A feltölteni kívánt fájl kiterjesztése nem jpg, hanem ".$_FILES['foto']['type'].".";
endif;
?>
Ez most komoly, hogy be kell raknom egy böngészőellenőrzést is, vagy van valami egyszerűbb áthidaló megoldás? Nem igaz, hogy egy ilyen alapdologban se egyezik meg a két browser...

Üdv,
Fedor
 
1

Nem...

janoszen · 2006. Ápr. 12. (Sze), 16.09
Egy-egy fájl típusnak több MIME típusa is van, azt hiszem, nincs szabványosítva. Mindazonáltal azt hiszem, hogy JPG fájlok esetén az image/jpeg illetve az image/jpg a leghasználatosabb. A legjobb, hogy ha egy olyan tárolási szerkezetet hozol lérte, amely lehetővé teszi a különböző MIME típusokat egy féjtípushoz is.
2

Így gondoltad?

Fedor · 2006. Ápr. 12. (Sze), 16.14

<?php
if (( $_FILES['foto']['type']!="image/pjpeg" ) || ( $_FILES['foto']['type']!="image/jpeg" )): 
   echo "A feltölteni kívánt fájl kiterjesztése nem jpg, hanem ".$_FILES['foto']['type'].".";
endif;
?>
Végülis ez magamtól is eszembe juthatott volna... :-(
3

Tömbbel célszerűbb

Dualon · 2006. Ápr. 12. (Sze), 16.22
Célszerűbb talán tömbbel megoldani, hisz ha később további MIME típusokat szeretnél bevezetni, vagy nem csak .jpg képek feltöltése kerülhet szóba, megint bele kell túrni a scriptbe.

Én így csinálnám:

$a_mime_ok = array(
   'jpg' => array('image/jpeg', 'image/jpg', 'image/pjpeg'),
   'gif' => array()
);
És az ellenőrzés:

// $s_ext: a feltöltött állomány kiterjesztése
// $s_mime: a feltöltött állomány MIME típusa
if ( !empty($a_mime_ok[$s_ext]) and in_array($s_mime, $a_mime_ok[$s_ext]) ) {
   // örülünk, Vincent
}
4

:)

Hodicska Gergely · 2006. Ápr. 13. (Cs), 09.01
// örülünk, Vincent

:)))


Felhő

u.i. Pont nekem is eszembe jutott ma már egy ponyvaregény idézet egyik reggeli thread olvasása kapcsán. :)
5

:]

Anonymous · 2006. Ápr. 13. (Cs), 10.43
u.i. Pont nekem is eszembe jutott ma már egy ponyvaregény idézet egyik reggeli thread olvasása kapcsán. :)


hát, ha ez a "ne kezdjük el egymás..." kezdetű lenne, akkor nem vagy egyedül. :]

gex
6

LOL (off)

attlad · 2006. Ápr. 13. (Cs), 12.40
+1, nekem is az jutott eszembe.