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

  FORUM HardWare.fr
  Programmation
  PHP

  get file content type

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

get file content type

n°2011397
xtof_83
Freeride Spirit
Posté le 23-07-2010 à 16:32:36  profilanswer
 

Salut :)
 
c'est quoi la meilleur solution pour avoir le mime type d'un fichier de façon précice.
 
J'ai un proxy, en paramétre des url vers des .css, d'autres vers des .jpg, .js, .gif...
 
Je voudrais afficher à l'utilisateur le contenue convenablement.
 
J'ai utilisé finfo_file ça marche bien pour les images... Mais pour .css il me retourne text/plain
 
Un indice ? une fonction magic... ne me dite pas qu'il faut que je me code un switch qui pue pour  résoudre ce problème  :sarcastic:  
 
Merci

mood
Publicité
Posté le 23-07-2010 à 16:32:36  profilanswer
 

n°2011403
xtof_83
Freeride Spirit
Posté le 23-07-2010 à 16:45:36  profilanswer
 

A défaut de faire mieux:

Code :
  1. $finfo = finfo_open(FILEINFO_MIME_TYPE);
  2. $mime_type = finfo_file($finfo, $file);
  3. finfo_close($finfo);
  4.  
  5. if ($mime_type == 'text/plain') {
  6.     $pathinfos = pathinfo($file);
  7.     $mime_type = 'text/'.$pathinfos['extension'];
  8. }
  9.  
  10.  
  11. header('Content-Type: '.$mime_type);


n°2011414
flo850
moi je
Posté le 23-07-2010 à 17:16:51  profilanswer
 

ça va donner quoi pour du javascript ?

n°2011431
Profil sup​primé
Posté le 23-07-2010 à 18:35:19  answer
 

doit y avoir des libs en PHP qui gèrent ça facilement


Message édité par Profil supprimé le 23-07-2010 à 18:35:35
n°2011708
xtof_83
Freeride Spirit
Posté le 26-07-2010 à 10:18:45  profilanswer
 

Ah ouais merde le JS :(... si vous avez une lib de dispo je veux bien :)


Message édité par xtof_83 le 26-07-2010 à 10:39:09
n°2011747
xtof_83
Freeride Spirit
Posté le 26-07-2010 à 11:38:38  profilanswer
 

Code :
  1. $mime_types = array(
  2.             'txt' => 'text/plain',
  3.             'htm' => 'text/html',
  4.             'html' => 'text/html',
  5.             'php' => 'text/html',
  6.             'css' => 'text/css',
  7.             'js' => 'application/javascript',
  8.             'json' => 'application/json',
  9.             'xml' => 'application/xml',
  10.             'swf' => 'application/x-shockwave-flash',
  11.             'flv' => 'video/x-flv',
  12.  
  13.             // images
  14.             'png' => 'image/png',
  15.             'jpe' => 'image/jpeg',
  16.             'jpeg' => 'image/jpeg',
  17.             'jpg' => 'image/jpeg',
  18.             'gif' => 'image/gif',
  19.             'bmp' => 'image/bmp',
  20.             'ico' => 'image/vnd.microsoft.icon',
  21.             'tiff' => 'image/tiff',
  22.             'tif' => 'image/tiff',
  23.             'svg' => 'image/svg+xml',
  24.             'svgz' => 'image/svg+xml',
  25.  
  26.             // archives
  27.             'zip' => 'application/zip',
  28.             'rar' => 'application/x-rar-compressed',
  29.             'exe' => 'application/x-msdownload',
  30.             'msi' => 'application/x-msdownload',
  31.             'cab' => 'application/vnd.ms-cab-compressed',
  32.  
  33.             // audio/video
  34.             'mp3' => 'audio/mpeg',
  35.             'qt' => 'video/quicktime',
  36.             'mov' => 'video/quicktime',
  37.  
  38.             // adobe
  39.             'pdf' => 'application/pdf',
  40.             'psd' => 'image/vnd.adobe.photoshop',
  41.             'ai' => 'application/postscript',
  42.             'eps' => 'application/postscript',
  43.             'ps' => 'application/postscript',
  44.  
  45.             // ms office
  46.             'doc' => 'application/msword',
  47.             'rtf' => 'application/rtf',
  48.             'xls' => 'application/vnd.ms-excel',
  49.             'ppt' => 'application/vnd.ms-powerpoint',
  50.  
  51.             // open office
  52.             'odt' => 'application/vnd.oasis.opendocument.text',
  53.             'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
  54.         );
  55.  
  56.         $infos = explode('.', $filename);
  57.         $ext = strtolower(array_pop($infos));
  58.         if (array_key_exists($ext, $mime_types)) {
  59.             return $mime_types[$ext];
  60.         }
  61.         elseif (function_exists('finfo_open')) {
  62.             $finfo = finfo_open(FILEINFO_MIME);
  63.             $mimetype = finfo_file($finfo, $filename);
  64.             finfo_close($finfo);
  65.             return $mimetype;
  66.         }
  67.         else {
  68.             return 'application/octet-stream';
  69.         }


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

  get file content type

 

Sujets relatifs
file readonlyProblème type encodage ("é","è") etc..
[C++] #include -> Type inconnuCréer un widget type iframe pour afficher ses derniers articles
Traitement de gros fichiers TXT (type PHPMyAdmin)Type de variable tableau
[Résolu] Pb de résolution de type dans un templateFile get contents ne s'exécute pas
Site Web avec design du type www.sous-titres.euUpload de fichier, Move upload file Echec
Plus de sujets relatifs à : get file content type


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