Version complète: sur le forum Webmaster Hub : retrouver l'extension d'un fichier sur mac et pc
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
furious Gontran
Bonjour,

Mon formulaire envois des fichiers vers ma base via des scripts.
Pour les fichiers image, no problemo, je recupere l'extension grace a getimagesize()...

Cependant je dois gere des .doc et des .pdf
J'utilise soit un explode() avec le . comme separateur, soit un substr($fichier,-3);

Mais question:
est ce que ces methodes marchent sur mac vu que celle ci n'affiche pas les extensions ???

Je ne suis pas macîste et je n'ais pas de moyen de tester.
quelqu'un pourrait-il m'eclairer ?
Boo2M0rs0
Sur les systèmes comme mac, la nature d'un document est connue par son mime-type et tu peux très bien le connaitre au moment de l'upload grâce à $_FILES['userfile']['type'] .

Tu obtiens alors quelque chose comme "image/gif" , "image/jpeg" , "image/png" pour des images, ou alors "application/pdf" pour un pdf... hypocrite.gif
Je ne connais pas le type mime des fichiers .doc, mais tu devrait le trouver assez facilement en faisant un petit test wink.gif
Dudu
Ah bon sur Mac on n'affiche pas les extensions ? Première nouvelle huh.gif

En fait je joue l'innocent, je comprends ce que tu veux dire mais tu confonds un peu tout wink.gif
Sur Mac il y a des extensions de fichiers comme partout, seulement il est possible d'enregistrer un fichier en omettant son extension (pour ceux que çà amuse) et le système retrouvera toujours ses marques grâce au type MIME du document (ce que Windows a beaucoup de mal à faire alors que c'est tout bête).

Mais de toute façon, teste tes fichiers par leur type MIME et non par leur extension, c'est plus sûr: combien de virus sont camouflés sont une extension .mp3 par exemple rolleyes.gif

En tous cas pour répondre à ta question telle qu'elle est posée: oui çà marchera sur Mac parce que 99,99% des gens que je connais sur Mac (moi y compris) ont des fichiers qui portent des extensions, comme tout le monde. Et cessons un peu les rumeurs entendues çà et là ... surtout quand elles sont fausses.
loufoque
Lors de l'upload tu n'as à faire attention qu'aux extensions qui permettrait d'executer des scripts PHP ou autres CGIs.
Ce sont ici les extensions qui déterminent le comportement du navigateur.

Donc le type mime, Linux et Mac on s'en fout.
Dudu
CITATION(loufoque @ dimanche 06 novembre 2005, 01h34)
Ce sont ici les extensions qui déterminent le comportement du navigateur.
*
Non, du serveur wink.gif Nuance (fossé ?)

Quant au type MIME, moi j'y ferais gaffe quand on uploade des fichiers sur mon site tout de même huh.gif Simple question de sécurité élémentaire, vérifier une extension ce n'est pas fiable.
furious Gontran
Merci pour ces reponses !!!

Le fait que 99.99% des informaticiens sous mac gardent leurs extensions est vrai.
Par contre, pour ce qui est newbie et/ou stagiaires incultes ce n'estpas la meme proportion, le newbie trouvant plus "propre" de pas avoir un .kekchose...

Merci tout de meme de dissoudre mes craintes.
Dudu
Je n'en suis pas persuadé: le ""newbie"" comme tu dis (je hais ce terme) ne va rien modifier de ce qui est par défaut. Par défaut tout a une extension.
Si quelques suicidaires s'amusent à les enlever par ce que Mac OS a la fiabilité adéquate pour lire les types MIME (ce que Windows n'arrive incroyablement pas à faire) tant mieux pour eux.

Dissoudre des craintes ? Quelles craintes ? Tu pensais peut-être que les utilisateurs Mac étaient des marginaux qui simplement voulaient tout faire à l'envers juste pour le plaisir  r_question6161.gif
Je ne comprends pas.
Beatnykk
je retrouve un dudu toujours aussi succeptible sur les question macintoshiennes biggrin.gif

détends-toi. ce n'est qu'une marque comme une autre, pas un label ni un certificat à justifier...

en attendant il est vrai que sur mac les extensions n'étaient pas automatiquement mises dans le nom du fichier, étant donné que l'entête des fichiers servait et sert toujours à reconnaïtre le type et la méthode d'éxecution. c'est plus lourd mais plus sécurisé.
le seul problème qui est intervenu c'est évidemment le transfert VERS windows.

maintenant c'est plus standardisé, et les utilisateurs savent que mettre une extension simplifie toute la chaîne et les transferts. un macuser averti en vaut deux wink.gif idem côté pc, et évidemment linux.
Loupilo
C'est vrai que moi sur Linux je ne met plus d'extension, et tout marche "comme si"...

C'est mieux je trouve smile.gif
karnabal
Hello,

Je sors ce topic des profondeurs du forum car je souhaiterai que l'on me dise comment je pourrai connaître la nature d'un fichier passé par Mac et dont l'extension a disparu.

Vous avez une idée pour que je puisse renommer correctement mes fichiers en leur associant la bonne extension ?
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.