Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1791 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  mime_content_type ne renvoie que text/plain :'-(

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mime_content_type ne renvoie que text/plain :'-(

n°975596
Fred999
Rabat-joie
Posté le 08-02-2005 à 16:43:56  profilanswer
 

Salut les codeux,
 
Désolé de vous solliciter encore une fois (quoique j'ai apporté une petite contrib ce matin :D).
 
Mon souci du jour, toujours lié au moteur de recherche :
 
On me donne l'identifiant d'un fichier, je récupère son répertoire et son nom.
 
J'ai donc deux variables. Par exemple :  
$dossier = "D:/Repertoire/"
$fichier = "toto.pdf"
 
Je souhaite connaître le type de $fichier pour :
- si c'est du texte, en interpréter le contenu,
- sinon, déclencher son téléchargement (boîte de dialogue).
 
J'ai essayé d'utiliser la fonction mime_content_type de deux manières :
 

echo mime_content_type($dossier . $fichier);


 


chdir($dossier);
echo mime_content_type($fichier);


 
Dans les deux cas, la fonction me renvoie 'text/plain' comme réponse.
 
Et même si je lui rentre un fichier qui n'existe pas, j'ai 'text/plain'.
 
Je dois me tromper quelque part dans son utilisation, mais où ? [:kalisto]
 
Je sais qu'il serait sans doute aussi simple d'utiliser une fonction brutale qui teste l'extension du fichier en dur, mais j'ai envie d'essayer de faire ça proprement.
 
Merci d'avance pour votre aide :)

mood
Publicité
Posté le 08-02-2005 à 16:43:56  profilanswer
 

n°975610
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-02-2005 à 16:48:27  profilanswer
 

et si tu mets un fichier image dans le meme dossier que ton script et que tu fais un mime_content_type('monimage.jpg'); il te donne quoi


---------------
Gamertag: CoteBlack YeLL
n°975618
FlorentG
Posté le 08-02-2005 à 16:51:14  profilanswer
 

T'as l'extension mime_magic d'activée ?

n°975620
Fred999
Rabat-joie
Posté le 08-02-2005 à 16:51:30  profilanswer
 

DJ Yell > Tiens, ça marche. Hum.
 
Pour Florent_G : oui, sinon la fonction n'est pas reconnue (modif du PHP.ini, copie de la DLL où il faut, utilisation du mime.magic de base).
 
Merci de vos réponses :)


Message édité par Fred999 le 08-02-2005 à 16:52:15
n°975634
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-02-2005 à 16:57:43  profilanswer
 

Si avec le fichier directement dans le même dossier ça marche, c'est que le problème vient du chemin d'accès.
 
A mon avis il ne faut pas mettre un chemin de type C:\mondossier\monfichier.ext


---------------
Gamertag: CoteBlack YeLL
n°975640
Fred999
Rabat-joie
Posté le 08-02-2005 à 17:00:07  profilanswer
 

Note que j'utilise les slashs et pas les anti-slashs pour accéder à mes répertoires, et que le chdir() pour accéder au répertoire du fichier fonctionne.
 
En fait, je suis obligé de partir d'une lettre de lecteur Windows car les fichiers du moteur et le code ne sont pas au même endroit.

n°975653
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-02-2005 à 17:03:45  profilanswer
 

et en essayant avec des ../../tondossier/tonfichier.ext pour tester ?


---------------
Gamertag: CoteBlack YeLL
n°975657
Fred999
Rabat-joie
Posté le 08-02-2005 à 17:05:24  profilanswer
 

Je vais essayer, je continue de triturer le code dans tous les sens :D
 
(le fichier désiré est bien un is_file)

n°975665
Fred999
Rabat-joie
Posté le 08-02-2005 à 17:12:29  profilanswer
 

Tiens, c'est bien fun.
 
J'ai donc testé différents trucs avec un fichier de type JPEG (.jpg), en le plaçant à différents endroits.
 
Quels que soient ces endroits, le type renvoyé par mime_content_type est le bon.
 
Idem avec un fichier ZIP.
 
Par contre, avec des fichiers de type Excel ou Word (.xls, .doc), la fonction semble ne plus rien y comprendre... et renvoyer uniquement text/plain.
 
Je précise que le fichier c:/php/magic.mime est bien pris en compte (j'ai dû rajouter son chemin d'accès dans php.ini pour que ça marche) et qu'il contient évidemment les infos nécessaires aux définitions de ces fichiers (c'est celui par défaut pour PHP 4.3.0).
 
Qu'est-ce qu'on met déjà dans ces cas-là ?
 
[:vague nocturne]
 
(merci beaucoup de ton aide)

n°975669
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-02-2005 à 17:16:40  profilanswer
 

Là je ne sais pas trop, désolé.
 
++


Message édité par Dj YeLL le 08-02-2005 à 17:16:54

---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le 08-02-2005 à 17:16:40  profilanswer
 

n°975676
Fred999
Rabat-joie
Posté le 08-02-2005 à 17:23:50  profilanswer
 

Pas de souci, tu as fait ce que tu as pu :)
 
De touta façon, j'ai déjà bien donné niveau problèmes à deux sous avec ce truc :  
 
http://forum.hardware.fr/forum2.ph [...] 0&subcat=0


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  mime_content_type ne renvoie que text/plain :'-(

 

Sujets relatifs
type password avec target ?Modifier le type d'un élément de formulaire en javascript
Types Mime : ouvrir un fichier .sql avec un éditeurinput type="button"... Ne transmet pas sa value ?
[Struts] Formatage de typeProblème avec <input type="text" ...>
Question débutant - Optimiser type de donnée Number (Oracle)pb xsl boucle type for
Plus de sujets relatifs à : mime_content_type ne renvoie que text/plain :'-(


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR