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 :

Fichier zip retourne type "text/html"


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut Fichier zip retourne type "text/html"
    Bonjour à tous,

    j'ai un soucis depuis aujourd'hui:
    lorsque j'upload un fichier zip sur mon serveur, celui-ci est détécté comme étant de type "text/html"
    alors qu'avant il était bien détécté comme "application/zip" (ou équivalent selon le zip (x-zip par exemple))
    et ceci avec n'importe quel zip que je test :/

    var_dump($_FILE):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(5) { ["name"]=> string(18) "polka-dots.1.2.zip" ["type"]=> string(9) "text/html" ["tmp_name"]=> string(24) "C:\xampp\tmp\php8668.tmp" ["error"]=> int(0) ["size"]=> int(237336) }

    j'ai récemment modifier ma config php.ini, mais je ne pense pas avoir touché quoi que ce soit a ce propos (il s'agissait juste d'autoriser les shorttags et les tags asp)

    D'ailleurs en regardant un peu dans le php.ini je vois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [mime_magic]
    mime_magic.magicfile="C:\xampp\php\extras\magic.mime"
    mais ce fichier est innexistant sur mon PC, le problème peut-il venir de la ?
    Mais si c'est le cas... le fichier a disparu comme ça, après un reboot d'apache ? ^^'

    Bref je trouve ça bizarre et je trouve pas trop comment rétablir tout ça
    si quelqu'un a une idée...

    Merci.


    Edit:

    après verification, dans ma console réseau firefox, pour cette requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -----------------------------31063309125863 Content-Disposition: form-data; name="MAX_FILE_SIZE" 268435456 
    -----------------------------31063309125863 Content-Disposition: form-data; name="file"; filename="polka-dots.1.2.zip" Content-Type: text/html
    cela voudrait-il dire que mon firefox envoie directement le fichier en tant que type text/html ?
    Je suis completement perdu là ^^'

    Edit:
    Bon apprement, c'est effectivement un problème de firefox, Chrome renvoie le bon header...
    Pas de rapport avec PHP donc, à priori...
    Une update récente de firefox qui a fait sauter quelque type mime ?? je reste perplexe...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Un article complet sur la façon dont Firefox gère les types Mime et comment on peut avoir des erreurs :
    http://techblog.procurios.nl/k/news/...n-firefox.html

    Du côté PHP, il n'est pas fiable de se servir des type Mime.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Merci, article intéressant
    J'ai pu régler mon problème dans le fichier en question en supprimant l'extension zip du contexte text/html

    Je savais déjà que se fier a l'extension ou au mime type que le navigateur renvoie n'est pas fiable, je dois d'ailleurs repasser sur le projet en question pour améliorer cet fonctionnalité,
    Cependant, je n'ai encore jamais eu besoin de le faire, et je me pose une question:

    la classe finfo() est elle la seule méthode fiable pour détécter le mime type d'un fichier ?

    Comment peut on faire dans le cas ou on ne peut pas activer cette extension sur le serveur ?

  4. #4
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    Citation Envoyé par xxkirastarothxx Voir le message
    Merci, article intéressant
    la classe finfo() est elle la seule méthode fiable pour détécter le mime type d'un fichier ?
    Tu n'as a priori besoin d'installer aucun mod ou activer quoi que ce soit.

    Utilise : mime_content_type()
    http://www.php.net/manual/en/functio...ntent-type.php
    Agence web Dim'Solution, créateur de solutions numériques
    Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...

    Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international

  5. #5
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 317
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par xxkirastarothxx
    méthode fiable
    Bah pour vérifier de façon safe si:
    puisque mime_content_type() se base sur une entrée utilisateur, donc peut facilement être fake

    De plus:
    mime_content_type — Detect MIME Content-type for a file (deprecated)

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    @sabotage

    Du côté PHP, il n'est pas fiable de se servir des type Mime.
    peu tu être plus précis sur ce sujet?
    Conception / Dev

  7. #7
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    a-tu bien mis "enctype" dans la balise form:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="..." method="POST" enctype="multipart/form-data">
    ce message vous a aidé ! Un petit click sur fait toujours plaisir

    "Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent." Bev Littlewood & Lorenzo Strigini

    "Le logiciel, c’est comme le sexe, c’est meilleur quand c’est libre/gratuit." Linus Torvalds

Discussions similaires

  1. [XHTML] type MIME text/html
    Par Gunner4902 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 24/09/2008, 10h30
  2. Création fichier PDF : problème insertion texte HTML
    Par isazazou dans le forum Documents
    Réponses: 2
    Dernier message: 21/11/2006, 15h13
  3. [Debutant] Fichier WSDL : Retourner un document de type PDF
    Par mesk93 dans le forum Services Web
    Réponses: 2
    Dernier message: 30/10/2006, 14h54
  4. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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