IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[classe ou fonction] fonction magic number ?


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut [classe ou fonction] fonction magic number ?
    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

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Citation Envoyé par Leinad
    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.
    Salut, c'est quoi le magic number d'un fichier ?
    Merci.
    a+, nako.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par nako
    Salut, c'est quoi le magic number d'un fichier ?
    Merci.
    a+, nako.
    Le magic number permet d'identifier son type.
    Lien : http://en.wikipedia.org/wiki/Magic_n...mbers_in_files

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par jeff_!
    Désolé je me suis mal exprimé.
    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.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    tu peut utilise l'extention filepro ou fait une recherche sur le mime_type

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par jeff_!
    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 ?
    Parce que ça ne correspond pas trop :
    Fonctions filePro
    Introduction

    Ces fonctions permettent de lire des données enregistrées dans des bases de données non modifiables filePro.

    Doc. PHP
    Le mime-type est envoyé dans la requête HTTP et peut être complètement faussé.

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    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 ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    pardon je me suis planter je parlai de fileinfo, mais je ne suis pas sur que cela soit plus secur que le mime_type

  10. #10
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Kerod
    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 ?
    Oui j'ai bien lu la FAQ, mais comme je l'ai dit le mime type peut être truqué

    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

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Dans ce cas testes avec cette fonction : mime_content_type

  12. #12
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Kerod
    Dans ce cas testes avec cette fonction : mime_content_type
    Test avec mime_content_type :
    même condition zip->jpg
    je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mime_content_type($filename);
    resultat :
    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 :
    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 ) ) ) ;
       }
    }
    résultat :
    application/x-zip application/x-zip
    c'est parfait, c'est ce que je voulais. Donc un grand merci à Kerod et jeff_! pour leur aide

    PS : je ne sais pas si ça marche avec la fonction mime_content_type() mais le petit bout de code fonctionne bien

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ca doit fonctionner vu que tu utilises une redéfinition de cette fonction qui est surement désactivée sur ton serveur

  14. #14
    Futur Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    LXXIX. 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.
    Petite info pour ceux qui auront le même problème que moi
    Préférer la fonction fileinfo à mime_content_type si vous pouvez installer l'extention PECL

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. classe friend vs fonctions globales vs ...
    Par khayyam90 dans le forum C++
    Réponses: 8
    Dernier message: 23/03/2006, 23h19
  2. Glut / Class / Pointeur sur fonction
    Par areS. dans le forum GLUT
    Réponses: 5
    Dernier message: 02/12/2005, 20h50
  3. Comparaison entre les classes et les fonctions
    Par Ashgenesis dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 08/09/2005, 19h09
  4. [class] Ajouter class devant une fonction
    Par Pedro dans le forum Langage
    Réponses: 12
    Dernier message: 07/03/2005, 13h11
  5. Réponses: 4
    Dernier message: 17/03/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo