Tom's Guide > Forum > Programmation > Formulaire php avec fichier joint

Formulaire php avec fichier joint

Forum Programmation : Formulaire php avec fichier joint

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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 :

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

Merci de votre aide.


Message édité par jpp13 le 24-07-2007 à 12:08:23
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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.

Répondre à jpp13

je pensse que c'est le client mail (ici outlook) qui traite differement les fichiers joints & affichages.

Répondre à okinou

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.

Répondre à jpp13

regarde dans les options, (des)active tout ce que tu peux :D

Répondre à okinou

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

Répondre à jpp13
Tom's Guide > Forum > Programmation > Formulaire php avec fichier joint
Aller à :

Il y a 1769 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens