recuperer le type MIME d'un fichier en php ?

recuperer le type MIME d'un fichier en php ? - Programmation

Marsh Posté le 22-07-2002 à 18:04:58    

j'dois faire une interface de mailing avec pieces jointes (nombre illimité).
j'ai trouvé pleins de scripts sur le net mais a tous y faut leur passer le type mime et je sais pas quoi lui passer :(
vous savez pas ?
 
exemple de script :  
 

Code :
  1. <?php
  2. /*
  3. *
  4. *
  5. * Avertissement : Cette librairie de fonctions PHP est distribuee avec l'espoir  
  6. * qu'elle sera utile, mais elle l'est SANS AUCUNE GARANTIE; sans meme la garantie de  
  7. * COMMERCIALISATION ou d'UTILITE POUR UN BUT QUELCONQUE.
  8. * Elle est librement redistribuable tant que la presente licence, ainsi que les credits des  
  9. * auteurs respectifs de chaque fonctions sont laisses ensembles.  
  10. * En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit
  11. * de l'utilisation ou la mesutilisation de ces fonctions PHP.
  12. */
  13. /****
  14. * Titre : Mail avec attachement 2  
  15. * Auteur : Racoon  
  16. * Email : racoon5@caramail.com
  17. * Url :  
  18. * Description : Même script que celui de Damien Seguy, Thierry Lépicier
  19. , avec init. de $attachment et déplacement de la deniere limite après la boucle.
  20. ****/
  21. function mail_attachement2($to,$sujet,$message,$filename,$typemime,$nom,$reply,$from)
  22. {
  23. //$filename et $nom sont des tableaux qui contiennent chemin + nom de X pièces jointes :  
  24.  
  25.   $limite = "_parties_".md5(uniqid(rand()));
  26.   $mail_mime = "Date: ".date("l j F Y, G:i" )."\n";
  27.   $mail_mime .= "MIME-Version: 1.0\n";
  28.   $mail_mime .= "Content-Type: multipart/mixed;\n";
  29.   $mail_mime .= " boundary=\"----=$limite\"\n\n";
  30.  
  31.   //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML  
  32.   $texte = "This is a multi-part message in MIME format.\n";
  33.   $texte .= "Ceci est un message au format MIME.\n";
  34.   $texte .= "------=".$limite."\n";
  35.   $texte .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  36.   $texte .= "Content-Transfer-Encoding: 7bit\n\n";
  37.   $texte .= $message;
  38.   $texte .= "\n\n";
  39.  
  40.   $attachement="";
  41.   for ($i=0;$i<count($filename);$i++)
  42.   {
  43.   $attachement .= "------=".$limite."\n";
  44.   $attachement .= "Content-Type: ".$typemime."; name=\"".$nom[$i]."\"\n";
  45.   $attachement .= "Content-Transfer-Encoding: base64\n";
  46.   $attachement .= "Content-Disposition: attachment; filename=\"".$nom[$i]."\"\n\n";
  47.   $fd = fopen($filename[$i], "r" );
  48.   $contenu = fread($fd, filesize($filename[$i]));
  49.   fclose( $fd );
  50.   $attachement .= chunk_split(base64_encode($contenu));
  51.   $attachement .= "\n\n\n";
  52.   }
  53.   $attachement .= "\n\n\n------=".$limite."\n";
  54.  
  55.   return mail($to, $sujet, $texte.$attachement, "Reply-to: $reply\nFrom:$from\n".$mail_mime);
  56. }
  57. ?>

Reply

Marsh Posté le 22-07-2002 à 18:04:58   

Reply

Marsh Posté le 22-07-2002 à 18:13:26    

si tu joins une image jpeg le type c'est image/jpeg pour le gif 'image/gif' pour 1 document word 'application/msword' ...
 
Voila la fonction que j'utilise :
 
 

Code :
  1. ################################################################################
  2. # fonction getMimeType                                                         #
  3. #------------------------------------------------------------------------------#
  4. # Détermine le type mime d'un fichier d'après son extension                    #
  5. #------------------------------------------------------------------------------#
  6. # Paramètres:                                                                  #
  7. #  filename: nom du fichier                                                   #
  8. #------------------------------------------------------------------------------#
  9. # Valeur de retour:                                                            #
  10. #   type mime correspondant ou 'application/octet-stream' si l'extension n'est #
  11. #   pas connue                                                                 #
  12. #------------------------------------------------------------------------------#
  13. # Variables globales référencées:                                              #
  14. #   aucune                                                                     #
  15. ################################################################################
  16. function getMimeType($filename) {
  17.   $ext = strtolower(substr($filename, strrpos($filename, '.')));
  18.   switch ($ext)
  19.     {
  20.     case '.jpeg':
  21.     case '.jpg':
  22.       $mimetype = 'image/jpeg';
  23.     break;
  24.     case '.gif':
  25.       $mimetype = 'image/gif';
  26.     break;
  27.     case '.png':
  28.       $mimetype = 'image/png';
  29.     break;
  30.     case '.txt':
  31.       $mimetype = 'text/plain';
  32.     break;
  33.     case '.html':
  34.     case '.htm':
  35.       $mimetype = 'text/html';
  36.     break;
  37.     default:
  38.       $mimetype = 'application/octet-stream';
  39.     }
  40.   return $mimetype;
  41. }

Reply

Marsh Posté le 22-07-2002 à 18:15:29    

j'vais taister
mirci ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed