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:
  1. <?php  
  2. if ( $_FILES['foto']['type']!="image/pjpeg" ) :   
  3.    echo "A feltölteni kívánt fájl kiterjesztése nem jpg, hanem ".$_FILES['foto']['type'].".";  
  4. endif;  
  5. ?>  
Viszont Firefox alatt csak ez megy:
  1. <?php  
  2. if ( $_FILES['foto']['type']!="image/jpeg" ) :   
  3.    echo "A feltölteni kívánt fájl kiterjesztése nem jpg, hanem ".$_FILES['foto']['type'].".";  
  4. endif;  
  5. ?>  
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
  1. <?php  
  2. if (( $_FILES['foto']['type']!="image/pjpeg" ) || ( $_FILES['foto']['type']!="image/jpeg" )):   
  3.    echo "A feltölteni kívánt fájl kiterjesztése nem jpg, hanem ".$_FILES['foto']['type'].".";  
  4. endif;  
  5. ?>  
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:
  1. $a_mime_ok = array(  
  2.    'jpg' => array('image/jpeg''image/jpg''image/pjpeg'),  
  3.    'gif' => array()  
  4. );  
És az ellenőrzés:
  1. // $s_ext: a feltöltött állomány kiterjesztése  
  2. // $s_mime: a feltöltött állomány MIME típusa  
  3. if ( !emptyempty($a_mime_ok[$s_ext]) and in_array($s_mime$a_mime_ok[$s_ext]) ) {  
  4.    // örülünk, Vincent  
  5. }  
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.