Après une recherche sur google, php.net et pear, je n'ai pas trouvé de fonction PHP qui permette d'extraire le magic number d'un fichier.
J'aurais voulu savoir si vous connaissiez une fonction php qui permettrait de le faire.
Merci d'avance
Après une recherche sur google, php.net et pear, je n'ai pas trouvé de fonction PHP qui permette d'extraire le magic number d'un fichier.
J'aurais voulu savoir si vous connaissiez une fonction php qui permettrait de le faire.
Merci d'avance
Salut, c'est quoi le magic number d'un fichier ?Envoyé par Leinad
Merci.
a+, nako.
Le magic number permet d'identifier son type.Envoyé par nako
Lien : http://en.wikipedia.org/wiki/Magic_n...mbers_in_files
ta essayer
Code : Sélectionner tout - Visualiser dans une fenêtre à part filetype
Désolé je me suis mal exprimé.Envoyé par jeff_!
Par type de fichier je veux dire jpeg, exe ... Je sais que je peux passer par l'extension du fichier mais je veux recouper le magic number et l'extension du fichier afin d'être sur du type de fichier que le client m'upload.
tu peut utilise l'extention filepro ou fait une recherche sur le mime_type
Est ce que tu parles des fonctions filepro dans la documentation PHP ?Envoyé par jeff_!
Parce que ça ne correspond pas trop :
Le mime-type est envoyé dans la requête HTTP et peut être complètement faussé.Fonctions filePro
Introduction
Ces fonctions permettent de lire des données enregistrées dans des bases de données non modifiables filePro.
Doc. PHP
As tu fais une recherche dans la FAQ et sur le forum ?
Le lien vers la FAQ est dans ma signature (au cas ou)
Comment filtrer les fichiers uploadés sur leur type mime ?
pardon je me suis planter je parlai de fileinfo, mais je ne suis pas sur que cela soit plus secur que le mime_type
Oui j'ai bien lu la FAQ, mais comme je l'ai dit le mime type peut être truquéEnvoyé par Kerod
Exemple :
J'ai un fichier test.zip je le renomme test.jpg
je l'upload sur le serveur et je fais un print_r de $_FILES ce qui me donne :
Array
(
[fichier] => Array
(
[name] => test.jpg
[type] => image/jpeg<-ce qui me dérange c'est ça alors que c'est un fichier zip
[tmp_name] => /var/httpd/products/tmp/phpCWaP7G
[error] => 0
[size] => 175
)
)
Le mime-type se repose par l'extension du fichier
Dans ce cas testes avec cette fonction : mime_content_type
Test avec mime_content_type :Envoyé par Kerod
même condition zip->jpg
je fais un :resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo mime_content_type($filename);
Fatal error: Call to undefined function: mime_content_type() alors que je suis en 4.3.2 (doc PHP c'est écrit : 4 >= 4.3.0, PHP 5).
je me débine pas je récupère ce bout de code :
résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if ( ! function_exists ( 'mime_content_type ' ) ) { function mime_content_type ( $f ) { return system ( trim( 'file -bi ' . escapeshellarg ( $f ) ) ) ; } }
c'est parfait, c'est ce que je voulais. Donc un grand merci à Kerod et jeff_! pour leur aideapplication/x-zip application/x-zip
PS : je ne sais pas si ça marche avec la fonction mime_content_type() mais le petit bout de code fonctionne bien
Ca doit fonctionner vu que tu utilises une redéfinition de cette fonction qui est surement désactivée sur ton serveur
Petite info pour ceux qui auront le même problème que moiLXXIX. Fonctions Mimetype
Introduction
Avertissement
Cette extension est à présent déconseillée étant donné que l'extension PECL fileinfo fournit les mêmes fonctionnalités (et même plus) de façon plus propre.
Préférer la fonction fileinfo à mime_content_type si vous pouvez installer l'extention PECL
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager