Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]mailing
Forum PHP.pl > Forum > Przedszkole
sokole_oko
Witam wszystkich mam taki o to problem.
nie wysyła mi plików tak skonstruowany formularz

  1. <?
  2. //wyswietlamy formularz
  3. echo '<FORM METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
  4. <p>Zlecenie</p>
  5. <input type="hidden" name="wyslij" value="1" />
  6. <input type="hidden" name="MAX_FILE_SIZE" value="2100000000" />
  7. <p>Wysłanie pliku nie jest jednoznaczne z zawarciem umowy.<br />
  8. Zawarcie umowy następuje po otrzymaniu maila potwierdzającego.<p>
  9. <table>
  10. <tr>
  11. <td>Rodzaj usługi</td>
  12. <td>-></td>
  13. <td>Format docelowy</td>
  14. </tr>
  15. <tr>
  16. <td><select name="usluga" value="'.$usluga.'" size="1">
  17. <optgroup label="cos">
  18. <option>1</option>
  19. <option>2</option>
  20. <option>3</option>
  21. </optgroup>
  22. <optgroup label="cos2">
  23. <option>1</option>
  24. <option>2</option>
  25. </optgroup>
  26. </select></td>
  27. <td>-></td>
  28. <td><select name="formatd" value="'.$formatd.'" size="1">
  29. <optgroup label="cos3">
  30. <option>1</option>
  31. <option>2</option>
  32. <option>3</option>
  33. </optgroup>
  34. </select></td>
  35. </tr>
  36. </table>
  37. <br />
  38. <table>
  39. <tr>
  40. <td colspan="2">Dane do faktury</td>
  41. <td colspan="2">Dane do wysyłki</td>
  42. <td colspan="2">Dane kontaktowe</td>
  43. </tr>
  44. <tr>
  45. <td>Nazwa firmy</td>
  46. <td><input type="text" name="nazwa_f" value="'.$nazwa_f.'" title="wpisz nazwę firmy" /></td>
  47. <td>Nazwa firmy</td>
  48. <td><input type="text" name="nazwa_f_w" value="'.$nazwa_f_w.'" title="wpisz nazwę firmy" /></td>
  49. <td>Imię i Nazwisko</td>
  50. <td><input type="text" name="im_naz" value="'.$im_naz.'" title="wpisz imię i nazwisko osoby kontaktowej" /></td>
  51. </tr>
  52. <tr>
  53. <td>Ulica i numer</td>
  54. <td><input type="text" name="ul_nr" value="'.$ul_nr.'" title="wpisz ulicę i numer" /></td>
  55. <td>Ulica i numer</td>
  56. <td><input type="text" name="ul_nr_w" value="'.$ul_nr_w.'" title="wpisz ulicę i numer" /></td>
  57. <td>Email</td>
  58. <td><input type="text" name="email" value="'.$email.'" title="wpisz email osoby kontaktowej" /></td>
  59. </tr>
  60. <tr>
  61. <td>Kod pocztowy</td>
  62. <td><input type="text" name="kod_p" value="'.$kod_p.'" title="wpisz kod pocztowy" /></td>
  63. <td>Kod pocztowy</td>
  64. <td><input type="text" name="kod_p_w" value="'.$kod_p_w.'" title="wpisz kod pocztowy" /></td>
  65. <td>Telefon</td>
  66. <td><input type="text" name="tel" value="'.$tel.'" title="wpisz telefon osoby kontaktowej" /></td>
  67. </tr>
  68. <tr>
  69. <td>Poczta</td>
  70. <td><input type="text" name="poczta" value="'.$poczta.'" title="wpisz pocztę" /></td>
  71. <td>Poczta</td>
  72. <td><input type="text" name="poczta_w" value="'.$poczta_w.'" title="wpisz pocztę" /></td>
  73. <td>Fax</td>
  74. <td><input type="text" name="fax" value="'.$fax.'" title="wpisz nr faxu" /></td>
  75. </tr>
  76. <tr>
  77. <td>NIP</td>
  78. <td><input type="text" name="nip" value="'.$nip.'" title="wpisz numer nip" maxlength="10"/></td>
  79. </tr>
  80. </table>
  81. <br />
  82. <p>REGULAMIN</p>
  83. <table>
  84. </table></form>';
  85. ?>


i wyslij.php

  1. <?php
  2. if ($_POST["wyslij"]==1)
  3. {
  4. $usluga=$_POST['usluga'];
  5. $formatd=$_POST['formatd'];
  6. $nazwa_f=$_POST['nazwa_f'];
  7. $nazwa_f_w=$_POST['nazwa_f_w'];
  8. $im_naz=$_POST['im_naz'];
  9. $ul_nr=$_POST['ul_nr'];
  10. $ul_nr_w=$_POST['ul_nr_w'];
  11. $email=$_POST['email'];
  12. $kod_p=$_POST['kod_p'];
  13. $kod_p_w=$_POST['kod_p_w'];
  14. $tel=$_POST['tel'];
  15. $poczta=$_POST['poczta'];
  16. $poczta_w=$_POST['poczta_w'];
  17. $fax=$_POST['fax'];
  18. $nip=$_POST['nip'];
  19.  
  20. $blad_txt='';
  21. $blad=false;
  22.  
  23. //sprawdzamy czy jest wypełnine pole nazwaf
  24. if(strlen($nazwa_f)<2){
  25. $blad_txt.='Podaj nazwę firmy<br/>';
  26. $blad=true;
  27. }
  28. //sprawdzamy czy jest podana ulica
  29. if(strlen($ul_nr)<2){
  30. $blad_txt.='Podaj ulice i numer<br/>';
  31. $blad=true;
  32. }
  33. //sprawdzamy czy jest prawidlowy kod pocztowy
  34. if(!ereg ( '^[0-9]{2}-[0-9]{3}$' , $kod_p )){
  35. $blad_txt.='Nieprawodłowy kod pocztowy</br>';
  36. $blad=true;
  37. }
  38. //sprawdzamy czy jest podana poczta
  39. if(strlen($poczta)<2){
  40. $blad_txt.='Podaj pocztę<br/>';
  41. $blad=true;
  42. }
  43. //sprawdzamy czy jest podany nip
  44. if (strlen($nip) != 10){
  45. $blad_txt.='Nieprawidłowy NIP<br/>';
  46. $blad=true;
  47. }
  48. //sprawdzamy czy podana jest osoba kontaktowa
  49. if(strlen($im_naz)<2){
  50. $blad_txt.='Podaj osobę do kontaktu<br/>';
  51. $blad=true;
  52. }
  53. //sprawdzamy czy jest podany prawidłowy adres e-mail
  54. if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){
  55. $blad_txt.='Podaj prawidłowy adres e-mail<br/>';
  56. $blad=true;
  57. }
  58.  
  59. if(!$blad) //poprawne dane
  60. {
  61.  
  62. // wpisanie rodzaju usługi i formatu docelowego
  63.  
  64. $usluga=$_POST['usluga'];
  65. $formatd=$_POST['formatd'];
  66.  
  67. srand((double)microtime()*1000000);
  68. $znacznik = md5(uniqid(rand()));
  69.  
  70. // dane o odbiorcy, nadawcy
  71. $odbiorca="moj@mail.pl";
  72. $tytul="Zlecenie";
  73. $nadawca = $_POST['nazwa_f'];
  74. $nadawca_mail=$_POST['email'];
  75.  
  76. // treść listu
  77. $tresclistu = $usluga.' '.$formatd.' Firma: '.$nazwa_f.' Ulica: '.$ul_nr.' '.$kod_p.' '.$poczta.' '." NIP :".$nip;
  78.  
  79. // definicja nagłówków
  80. $naglowki = "From: $nadawca <$nadawca_mail>\n";
  81. $naglowki .= "MIME-Version: 1.0\n";
  82. $naglowki .= "Content-Type: multipart/mixed;\n";
  83. $naglowki .= "\tboundary=\"___$znacznik==\"";
  84.  
  85. // nagłówki listu
  86. $tresc="--___$znacznik==\n";
  87. $tresc .="Content-Type: text/html; charset=\"utf-8\"\n";
  88. $tresc .="Content-Transfer-Encoding: 8bit\n";
  89. $tresc .="\n$tresclistu\n";
  90.  
  91. // nagłówki i obsługa załącznika
  92. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  93. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  94. $plik_wielkosc = $_FILES["plik1"]["size"];
  95.  
  96. if (is_uploaded_file($plik_nazwa_tmp))
  97. {
  98. $tresc .="--___$znacznik==\n";
  99. $tresc .="Content-Disposition: attachment;\n";
  100. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  101. $tresc .="Content-Transfer-Encoding: base64\n\n";
  102. $f = fopen($plik_nazwa_tmp,"rb");
  103. $dane = fread($f,filesize($plik_nazwa_tmp));
  104. fclose($f);
  105. $tresc .= chunk_split(base64_encode($dane));
  106. $tresc .="--___$znacznik==--\n";
  107. }
  108.  
  109. // wysłanie listu
  110. if (mail($odbiorca,$tytul,$tresc,$naglowki))
  111. {
  112. print "E-mail z załącznikiem został wysłany poprawnie.";
  113. }
  114. else
  115. {
  116. print "E-mail NIE został wysłany poprawnie.
  117. <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  118. }
  119. }
  120. else
  121. {
  122. //cos jest zle – wyświetlamy stosowne komunikaty
  123. echo $blad_txt;
  124. print "E-mail NIE został wysłany poprawnie.
  125. <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
  126. }
  127. }
  128. ?>


Mam możliwość zapisu w tym katalogu w którym jest skrypt.
Dziwne jest to że z małymi plikami działa prawie poprawnie dochodzi wraz z załącznikiem i można go zapisać.
piotrekkr
Skoro dochodzi z małymi plikami to może znaczyć że masz ograniczenie na wielkość załącznika na poczcie i go przekroczyłeś. Jak możesz upewnij się jaka jest maksymalna wielkość wiadomości wychodzącej na twoim serwerze.
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.