Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2007, 14h40   #1
Membre du Club
 
Avatar de Nzs26
 
Développeur Web
Inscription : août 2007
Messages : 136
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2007
Messages : 136
Points : 43
Points : 43
Par défaut [Upload] Filtrer l'upload avec le type MIME

Bonjour,

j'ai récemment développer un site internet pour une zone commerciale. Elle comporte plus de 80 magasins, pour illustrer chacun d'entre eux, j'ai donc créer des formulaires avec envois de fichiers pour qu'ils puissent modifier leur photo à leur guise.

Lors de l'envois, j'effectue plusieurs contrôles :
- nom du fichier identique à celui demandé
- poids du fichier ne dépassant pas le plafond fixé
- type MIME correspondant au seul accepter ( ici, ne laisse se télécharger que les fichiers images JPEG)
Si tous ses contrôles se passent bien, le fichier est alors télécharger.

Ce concepte fonctionne sans problème sous les navigateurs utilisant un moteur autre qu'Internet Explorer ( Mozilla Firefox, Opéra) . Après test, je me suis rendue compte que l'envoi de fichier ne fonctionné pas avec les navigateurs aux moteur d'Internet Explorer.

Effectivement, il se produit une erreur sur le contrôle du type du fichier (MIME) est le transfert ne peut pas s'effectuer.

Or, j'aimerais bien que l'envois de fichiers soit possible sur tous les navigateurs

Si vous savez d'où vient le problème ou avait des idées, je suis preneuses.

Sinon, ben je ne sais pas comment je vais pouvoir faire ?

Merci d'avance
Nzs26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 15h16   #2
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Salut,

IE défini par un nom différent le type mime des jpeg et pour certains autres fichiers, pour jpeg, c'est image/pjpeg

Je n'ai pas retrouvé la liste des mimes de IE.
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 23h29   #3
Membre du Club
 
Avatar de Nzs26
 
Développeur Web
Inscription : août 2007
Messages : 136
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2007
Messages : 136
Points : 43
Points : 43
Merci pour ta réponse,

Mais du coup je me pose une autre question : si je modifie le type mime du fichier accepté pour que l'envoie du fichier fonctionne pour les navigateurs utilisant un moteur d'Internet Explorer, est-ce que le problème ne s'inverserais et que dans ce cas les navigateurs utilisant un moteur différent ne pourraient pas réalisé le transfert ?

Je dois avouer que là, les problèmes de navigateurs me posent soucis ...

Comment les développeurs effectuant des transfert avec contrôle sur le type mime gèrent-il se problèmes ?

Merci à toi pour ta réponse maintenant je n'aurais plus à me torturée le cervaux pour trouver l'origine exacte du problème
Nzs26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 12h16   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Citation:
Envoyé par Nzs26 Voir le message
Comment les développeurs effectuant des transfert avec contrôle sur le type mime gèrent-il se problèmes ?
utilise la fonction http://php.net/getimagesize analyser le format de l'image
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 13h59   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
D'une manière générale, le contrôle de type MIME devrait être fait côté serveur puisque on le voit très bien ici qu'on ne peut pas se fier à ceux envoyés par le client. C'est un peu délicat par contre en PHP, car la fonction mime_content_type, toujours disponible à l'heure actuelle, est obsolète et son probable remplaçant, fileinfo, ne fait (toujours) pas partie du core de PHP et donc n'est disponible que sous la forme d'une extension PECL. Il y a éventuellement la commande système file qui peut fournir cette information sur les systèmes Linux/Unix (et que l'on peut mettre en place sous Windows).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h39   #6
Membre du Club
 
Avatar de Nzs26
 
Développeur Web
Inscription : août 2007
Messages : 136
Détails du profil
Informations personnelles :
Âge : 25

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2007
Messages : 136
Points : 43
Points : 43
Merci pour ces réponses, je vais voir si je trouve une manière fiable de filtrer sur tous les navigateurs, moi qui croyait que mon code était correcte :p, je testerais ça quand l'hébergeur sera ok : une semaine qu'il affiche site indisponible alors que l'espace client sur le site propre à l'hébergeur est accessible ... enfin merci beaucoup de votre intérêt, dès que je peux essayer de résoudre, je m'y penche !
Nzs26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h23.


 
 
 
 
Partenaires

Hébergement Web