Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z formularzem HTML/PHP
Forum PHP.pl > Forum > Przedszkole
MVStudio
Witam

Mam przygotowany formularz kontaktowy bez załącznika, który działa bez problemów.
Próbowałem go zmodyfikować, tak aby była możliwość wysyłki załącznika.

  1. <?php
  2.  
  3. if(isset($_POST['send']))
  4. {
  5. $to = 'email@gmail.com';
  6.  
  7. $subject = $_POST['gender'];
  8. $fname = $_POST['f-name'];
  9. $sname = $_POST['s-name'];
  10. $nation = $_POST['nation'];
  11. $email = $_POST['email'];
  12. $phone = $_POST['phone'];
  13. $add = $_POST['add'];
  14. $zip = $_POST['zip'];
  15. $city = $_POST['city'];
  16. $dateday = $_POST['dateday'];
  17. $datemonth = $_POST['datemonth'];
  18. $dateyear = $_POST['dateyear'];
  19.  
  20. srand((double)microtime()*1000000);
  21. $marker = md5(uniqid(rand()));
  22.  
  23. $headers = "From: $email" . "\r\n";
  24. $headers .= "Reply-To: $email" . "\r\n";
  25. $headers .= "MIME-Version: 1.0\n";
  26. $headers .= "Content-Type: multipart/mixed;\n";
  27. $headers .= 'X-Mailer: PHP/' . phpversion();
  28. $headers .= "\tboundary=\"___$marker==\"";
  29.  
  30. $inside_content = "
  31. First Name: $fname.\n
  32. Last name: $sname.\n
  33. Nationality: $nation.\n
  34. Email Address: $email.\n
  35. Telephone: $phone.\n
  36. Address: $add.\n
  37. Zip Code: $zip.\n
  38. City: $city.\n
  39. Date of Birth: $dateday-$datemonth-$dateyear.\n\n;
  40.  
  41. $content ="--___$marker==\n";
  42. $content .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
  43. $content .="\n$inside_content\n";
  44.  
  45. $file_name_tmp = $_FILES["file1"]["tmp_name"];
  46. $file_name_org = $_FILES["file1"]["name"];
  47. $file_size = $_FILES["file1"]["size"];
  48.  
  49. if (is_uploaded_file($file_name_tmp))
  50. {
  51. $content .="--___$marker==\n";
  52. $content .="Content-Type: image/jpg\n";
  53. $content .="Content-Disposition: attachment;\n";
  54. $content .=" filename=\"$file_name_org\"\n";
  55. $f = fopen($file_name_tmp,"rb");
  56. $data = fread($f,filesize($file_name_tmp));
  57. fclose($f);
  58. $content .= chunk_split(base64_encode($data));
  59. $content .="--___$marker==--\n";
  60. }
  61.  
  62. mail($to, $subject, $content, $headers);
  63. }
  64.  
  65. ?>


niestety coś namieszałem, i ...

jak ktoś wypełni formularz i załączy plik dostaje za każdym razem
maila który wysyła mi całą wiadomość w załączniku, nazwa załącznika "noname".

PYTANIE:
Jak rozłączyć $inside_content od $content (załączanego pliku) tak żeby
dane z $inside_content były w treści maila a $content (załączanego pliku)
w załączniku z oryginalnym rozszerzeniem questionmark.gif
CuteOne
move_uploaded_file()
MVStudio
niestety
  1. move_uploaded_file($_FILES['file']['tmp_name'], $filepath);

nie pomoże, gdyż, nie jestem w stanie ustalić $filepath

Przeczytałem na jednym forum, ze powinno się w tym wypadku
otworzyć temp_file i wysłać jako content, tylko ja nie wiem jak closedeyes.gif

------------------------------------- 29.08.20011 ---------------------

Mam już rozwiązanie, jak ktoś mając ten sam roblem potrzebuje wskazówek,
niech napisze na maila lub wyśle wiadomość z tej strony kontaktowej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.