Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wysyłanie maila, Wysyłania maila razem z zauploadowanym plikiem
felixk
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Witam, w sumie ten skrypt był tu mordowany kilka razy. Grunt, że działa, ale nie do końca. Teraz został zintegrowany razem z formularzem kontaktowym, którego głównym zadaniem jest wysyłanie maili. Maile owszem wysyłają się, ale bez załączników bądź linków do tychże załączników. Ja mam to rozwiązane przez link, ale tak czy siak link w treści maila pokazać się nie chce. Z góry dziękuje za pomoc. Poniżej pełny kod skryptu. Z góry dziękuję za pomoc

  1.  
  2. $site_name = $_SERVER['HTTP_HOST'];
  3. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  4. $url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  5.  
  6. $upload_dir = "upload_files/";
  7. $upload_url = $url_dir."/upload_files/";
  8. $message ="";
  9. $allow = array("jpg", "jpeg", "gif", "png", "bmp");
  10.  
  11. //create upload_files directory if not exist
  12. //If it does not work, create on your own and change permission.
  13. if (!is_dir("upload_files")) {
  14. die ("Folder nie istnieje");
  15. }
  16.  
  17. if ($_FILES['userfile']) {
  18. $message = do_upload($upload_dir, $upload_url);
  19. }
  20.  
  21. print $message;
  22.  
  23.  
  24.  
  25. function do_upload($upload_dir, $upload_url) {
  26. global $allow;
  27. global $upload_url;
  28. global $upload_dir;
  29.  
  30. $temp_name = $_FILES['userfile']['tmp_name'];
  31. $file_name = $_FILES['userfile']['name'];
  32.  
  33. $rozszerzenie_pliku = substr( $file_name, strrpos( $file_name, '.' ) +1 );
  34.  
  35. $file_name = strtolower($file_name);
  36. $file_name = str_replace("ż","z",$file_name);
  37. $file_name = str_replace("ą","a",$file_name);
  38. $file_name = str_replace("Ľ","z",$file_name);
  39. $file_name = str_replace("ę","e",$file_name);
  40. $file_name = str_replace("ł","l",$file_name);
  41. $file_name = str_replace("Ł","l",$file_name);
  42. $file_name = str_replace("ś","s",$file_name);
  43. $file_name = str_replace("ń","n",$file_name);
  44. $file_name = str_replace("ć","c",$file_name);
  45. $file_name = str_replace("ó","o",$file_name);
  46. $file_name = str_replace(" ", "_",$file_name);
  47.  
  48. $file_type = $_FILES['userfile']['type'];
  49. $file_size = $_FILES['userfile']['size'];
  50. $result = $_FILES['userfile']['error'];
  51. $file_url = $upload_url.$file_name;
  52. $file_path = $upload_dir.$file_name;
  53.  
  54. //File Name Check
  55. if ( $file_name =="") {
  56. echo "<script language=\"javascript\">alert('Brak nazwy pliku.')</script>";
  57. }
  58.  
  59. // File Size check
  60. $max = 3145728;
  61. $file_size = $_FILES['userfile']['size'];
  62. if ($file_size > $max)
  63. {
  64. echo "Plik za duży";
  65. }
  66.  
  67. //File Type Check
  68. if (in_array($rozszerzenie_pliku, $allow))
  69. {
  70. $result = move_uploaded_file($temp_name, $file_path);
  71. echo "<a href=$file_url>$file_url</a>";
  72. }
  73. else
  74. {
  75. echo "<script language=\"javascript\">alert('Dozwolone tylko pliki graficzne')</script>";
  76. }
  77.  
  78. }
  79.  
  80. $site_names = "";
  81. $site_email = "";
  82. $data = gmdate("d-m-Y");
  83. $czas = gmdate("H:i");
  84.  
  85. function poprawny_email ( $var )
  86. {
  87. return preg_match ( '/^[_\.0-9a-z-]+@([_0-9a-z-]+\.)+[a-z]{2,4}$/', $var );
  88. }
  89.  
  90. $error = '<div class="error">';
  91. if ( empty ( $imie ) ) $error .= 'Pole z imieniem nie zostało wypełnione.<br />';
  92. if ( empty ( $email ) ) $error .= 'Pole z adresem email nie zostało wypełnione.<br />';
  93. if ( empty ($temat ) ) $error .= 'Pole z tematem nie zostało wypełnione.<br />';
  94. if ( empty ( $opinia ) ) $error .= 'Pole z treścią wiadomości nie zostało wypełnione.<br />';
  95. if ( !empty ( $email ) && !poprawny_email ( $email ) ) $error .= 'Adres email jest niepoprawny.<br />'; $error .= '<br><a href="java script:history.back()">wróć</a></div>';
  96. if ( poprawny_email ( $email ) && !empty ( $imie ) && !empty ( $temat ) && !empty ( $opinia ) )
  97. {
  98. echo '<CENTER>';
  99. PRINT "Witamy $imie";
  100. echo '<BR><BR> Dziękujemy za zainteresowanie naszą stroną<BR><BR> Twoja wiadomośc została wysłana do pracownika ośrodka. <BR> <a href=/index.php?strona=glowna>Powrót</a>';
  101. echo '</CENTER>';
  102. }
  103. else
  104. {
  105. echo "$error";
  106. }
  107.  
  108. mail("$email", "$site_names Dziękujemy za zainteresowanie",
  109. "Dziękujemy Ci $imie za przesłanie emaila do nas. Postaramy się odpowiedzieć na niego w możliwie najkrótszym czasie");
  110.  
  111. mail("$site_email",
  112. "$site_name Formularz kontaktowy",
  113. "Wiadomosc przesłana dnia $data o godzinie $czas
  114. Przez: $imie
  115. Email: $email
  116. Temat: $temat
  117. Tresc: $opinia
  118. Dodatkowe dokumenty: $file_url");
  119.  
  120.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
john_doe
post
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


na Twoim miejscu nie bawiłbym się w funkcję mail()
Użyj klasy phpMailer i będzie pięknie. Łatwo dodać attachment... itd.

pozdr
Go to the top of the page
+Quote Post
felixk
post
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Cytat(john_doe @ 28.12.2009, 01:18:35 ) *
na Twoim miejscu nie bawiłbym się w funkcję mail()
Użyj klasy phpMailer i będzie pięknie. Łatwo dodać attachment... itd.

pozdr


Ja jednak wolę mail, bo jak patrzę w w PHPMailera to pojęcia nie mam co i jak tam. Prosiłbym jednak o pomoc w skrypcie powyżej.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 23:03