Page 1 sur 1

[form] vérifier fichier sans extension

Posté : 02 févr. 2012, 18:58
par Texicitys
Bonjour,

Sur mon site, j'ai un formulaire d'envoi de fichier. Je n'accepte que les fichiers avec des certaines extension (pdf, txt, etc...)

Une personne qui utilise un mac a voulu m'envoyer un pdf. Cependant, étant sous mac, son fichier ne contenait pas d'extension. Mon formulaire l'a donc refusé en disant que l'extension n'était pas valide...

Est-il possible de contrer ce problème?

Merci

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 19:01
par xTG
Tu peux vérifier le type MIME qui se trouve aussi dans l'array $_FILES.

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 19:42
par Texicitys
Merci pour ta réponse!

Ce type mime, c'est pareil que l'extension
C'est donc mieux si je verifie le mime de tout les documents, plutot que de verifier l'extension?

Merci

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 19:44
par xTG
Le type MIME est plus sûr que l'extension.
On peut avoir un type MIME image/png et avoir une extension .exe donc aucun rapport entre les deux.

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 21:01
par Texicitys
Ok, merci.

Mon site récolte des fichiers et les met a disposition d'autre utilisateur. Donc un fichier pdf sans extension, devrait être enregistré avec son extension .pdf à la fin pour qu’il soit lisible par tous les membres (même ceux qui ont windows).

J'ai essayer de prendre le mime en faisant
echo $_FILES['work_doc']['type'];
J'ai fait quelque test: Lorsque j'envoie un fichier .pdf (c'est vraiment un pdf) le mime est : application/pdf
Lorsque j'envoie le même fichier mais sans l'extension le mime est : application/octet-stream

Pareil pour un jpg.
J'ai renommé un .jpg en .pdf et il me dit encore : application/pdf

Donc le type est directement lié à l'extension.

Comment trouver le mime alors? Le problème de fichier qui n'ont pas d'extension est répondu ou il y a peu de personne qui n'ont pas d'extension?

Merci

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 22:02
par xTG
Je soupçonne fortement windows de renommer le MIME lorsque tu supprimes l'extension. ;)
Si tu as la possibilité tentes avec un fichier sans extension en provenance d'un MAC.

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 22:06
par Texicitys
J'ai télécharger directement le document que le propriétaire du mac m'a envoyé (le fichier sans extension donc) car j'ai pensé la même chose que toi. Mais le mime était aussi application/octet-stream

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 22:11
par xTG
Bah là je sors de mes compétences...
J'ai toujours cru jusqu'à maintenant que c'était le type MIME qui permettait aux logiciels de reconnaitre tel ou tel fichier. :/

Re: [form] vérifier fichier sans extension

Posté : 02 févr. 2012, 22:37
par Texicitys
D'après ce que j'ai lu, php ne peut pas lire le mime du fichier, c'est le navigateur qui l'envoie.. et firefox ne le fait pas il me semble, mais internet explorer oui.. Pour le moment, je préfère garder ma vérification de l'extension.