Votre question

Formulaire php avec fichier joint

Tags :
  • Programmation
Dernière réponse : dans Programmation
24 Juillet 2007 12:07:50

Salut à tous,

Je reçois très bien le fichier joint de mon formulaire sur ma boite yahoo mais si je l'envoie sur une autre boite qui est gérer par OUTLOOK, le fichier joint ne s'affiche pas. Il y a plein de caractere qui s'affiche.

Je sais pas si c'est compliqué pour le modifier pour OUTLOOK.

VOici le code qui gère le formulaire :

  1. <?php
  2. $name_file = $_FILES['monfichier']['name'];
  3. $source = $_FILES['monfichier']['tmp_name'];
  4.  
  5. move_uploaded_file($source, "./".$name_file);
  6.  
  7. $extension=get_extension($name_file);
  8.  
  9. $type="text/plain";
  10. if($type=="doc")
  11. {
  12. $type="text/vnd.ms-word";
  13. }
  14. else if($type=="xls")
  15. {
  16. $type="text/vnd.ms-excel";
  17. }
  18.  
  19. $type2="image/png";
  20.  
  21. if($extension=="gif")
  22. {
  23. $type2="image/gif";
  24. }
  25. else if($extension=="bmp")
  26. {
  27. $type2="image/bmp";
  28. }
  29.  
  30. function get_extension($filename)
  31. {
  32. $parts = explode('.',$filename);
  33. $last = count($parts) - 1;
  34. $ext = $parts[$last];
  35. return $ext;
  36. }
  37.  
  38. //----------------------------------
  39. // Construction de l'entête
  40. //----------------------------------
  41. $boundary = "-----=".md5(uniqid(rand()));
  42. $header = "MIME-Version: 1.0\r\n";
  43. $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
  44. $header .= "\r\n";
  45.  
  46. $msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
  47.  
  48. $msg .= "--$boundary\r\n";
  49.  
  50. $msg .= "Content-Type: $type; charset=UTF-8";
  51. $msg .= "Content-Transfer-Encoding:8bit\r\n";
  52.  
  53. if($name_file!="")
  54. {
  55. $file = $name_file;
  56. $fp = fopen($file, "rb");
  57. $attachment = fread($fp, filesize($file));
  58. fclose($fp);
  59.  
  60. $attachment = chunk_split(base64_encode($attachment));
  61.  
  62. $msg .= "--$boundary\r\n";
  63. $msg .= "Content-Type: $type2; name=\"$file\"\r\n";
  64. $msg .= "Content-Transfer-Encoding: base64\r\n";
  65. $msg .= "Content-Disposition: inline; filename=\"$file\"\r\n";
  66. $msg .= "\r\n";
  67. $msg .= $attachment . "\r\n";
  68. $msg .= "\r\n\r\n";
  69. $msg .= "--$boundary--\r\n";
  70. $msg .= "Postule pour $objet\n\n";
  71. }
  72.  
  73. //----------------------------------
  74. // On test si un champs est vide
  75. //----------------------------------
  76. if(empty($from) OR empty($monfichier) OR empty($choix)){
  77. echo "Merci de remplir tous champs du formulaire";
  78. }
  79. else{
  80. if($_POST['from'] != "" && $_FILES['monfichier'] != "" && $_POST['choix'] != "") {
  81. $destinataire = "monmail@yahoo.fr";
  82. $expediteur = $_POST['from'];
  83. $reponse = $expediteur;
  84. echo "Merci votre CV a bien été envoyé<br />";
  85. echo "Vous recevrez une réponse dans quelques jours";
  86.  
  87. mail($destinataire, "CV: $choix", $msg, "Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header);
  88. }
  89. else {
  90. echo "Merci de remplir tous les champs";
  91. }
  92. }
  93.  
  94. if($name_file!="")
  95. {
  96. }
  97. print("<br>\n");
  98. print("<br><a href=<a href="http://www.site.fr/" rel="nofollow" target="_blank">http://www.site.fr/</a> target=\"principal\"><font size=2>Retour sur le site</font></a>");
  99. ?>


Merci de votre aide.

Autres pages sur : formulaire php fichier joint

24 Juillet 2007 14:56:30

je peux comprendre que c'est un peu long :p  mais personne ne peut me dire si c'est compliqué d'adapter cela sur OUTLOOK ?

Merci.
24 Juillet 2007 15:04:48

je pensse que c'est le client mail (ici outlook) qui traite differement les fichiers joints & affichages.
Contenus similaires
24 Juillet 2007 15:13:28

Ouii ca c'est sur, mais je sais pas du tout si je peux régler ce problème, ca à l'air mal barrer, je fais des recherches sur le net, si quelqu'un a eu le même problème, merci de me prévenir.
24 Juillet 2007 15:20:41

regarde dans les options, (des)active tout ce que tu peux :D 
25 Juillet 2007 15:01:44

apparement ca marche sur le outlook ke j'ai moi (express et celui de office) mais pour celui de la personne qui recevra le mail, ca n'a pas l'air de marcher. Ca recois plein de caractere sans fichier joint, vraiment bizarre
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS