Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wysyłanie pliku przez maila
Forum PHP.pl > Forum > PHP
Piro
Witam

Mam taki problem z moim skryptem a mianowicie. Po wrzuceniu go na serwer nie pokazuje żadnego błędu, ale nie działa on prawidłowo. Skrypt ma wysyłać plik załączony na wcześniejszej stronie poprzez formularz. Oczywiście nie wysyła go... na maila dostaję tylko plik o nazwie "attachment.txt" i jest on pusty. Oto kod wysyłający maila:

Nie wiem czy to mi się coś dzieje czy to z tym forum ale nie mogę wkleić kodu ponieważ "za duża ilość grafik została dodana", tylko jakich grafik? Tak samo nie dam rady wkleić całego ponieważ tekst jest za długi. Może ktoś powiedzieć dlaczego są takie głupie ograniczenia?
  1. <?php
  2. function zakoduj_plik($zalacznik) {
  3. if (is_readable($zalacznik)) {
  4. $fd = fopen($zalacznik, "r");
  5. $plik = fread($fd, filesize($zalacznik));
  6. $encoded = chunk_split(base64_encode($plik));
  7. fclose($fd);
  8. }
  9. return $encoded;
  10. }
  11.  
  12. $message = '';
  13.  
  14. $head = "From: wokolr\n";
  15. $head .= "X-Mailer: PHP\n";
  16. $head .= "MIME-version: 1.0\n";
  17. $head .= "Content-type: multipart/mixed; ";
  18. $head .= "boundary=\"$boundary\"\n";
  19. $head .= "Content-transfer-encoding: 7BIT\n";
  20. $head .= "X-attachments: $nazwa_zalacznika;\n\n";
  21.  
  22. $mesg = "--" . $boundary . "\n". 
  23. $mesg .= "Content-Type: text/plain; charset=\"utf-8\"\n\n".
  24. $mesg .= $message . "\n".
  25. $mesg .= "--" . $boundary . "\n".
  26. $mesg .= "Content-type: " . $typ_zalacznika . "; name=\"$nazwa_zalacznika\";\n".
  27. $mesg .= "Content-Transfer-Encoding: base64\n".
  28. $mesg .= "Content-disposition: attachment; filename= \"$nazwa_zalacznika\"\n\n".
  29. $mesg .= zakoduj_plik($nazwa_pliku) . "\n".
  30. $mesg .= "--" . $boundary . "-- \n";
  31.  
  32.  
  33. if ($_POST['mail1']=='true') 
  34. $mail1 = 'kemalerdem@interia.pl; ';
  35. else 
  36. unset($_POST['mail1']);
  37. if ($_POST['mail2']=='true')
  38. $mail2 = 'test_piro1@interia.pl; ';
  39. else 
  40. unset($_POST['mail2']);
  41. if ($_POST['mail3']=='true')
  42. $mail3 = 'test_piro2@interia.pl; ';
  43. else
  44. unset($_POST['mail3']);
  45. if ($_POST['mail4']=='true') 
  46. $mail4 = 'test_piro3@interia.pl; ';
  47. else 
  48. unset($_POST['mail4']);
  49. if ($_POST['mail5']=='true')
  50. $mail5 = 'test_piro4@interia.pl; ';
  51. else 
  52. unset($_POST['mail5']);
  53. if ($_POST['mail6']=='true') 
  54. $mail6 = 'test_piro5@interia.pl';
  55. else 
  56. unset($_POST['mail6']);
  57. $do = $mail1.$mail2.$mail3.$mail4.$mail5.$mail6;
  58.  
  59. mail($do, 'Zamówienie', $mesg, $head);
  60. echo('wysłano formularz');
  61. ?>
  62. </body>
  63. </html>

Formularz:
  1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1250" /></head>
  2. <form method="post" action="ostatnia.php" enctype="multipart/form-data">
  3. <input type="checkbox" name="mail1" value="true"/> Inteligo
  4. <input type="checkbox" name="mail2" value="true"/> BPH
  5. <input type="checkbox" name="mail3" value="true"/> PKO
  6. <input type="checkbox" name="mail4" value="true"/> ING
  7. <input type="checkbox" name="mail5" value="true"/> Mbank
  8. <input type="checkbox" name="mail6" value="true"/> iwonicz<br/>
  9. <textarea name="zalacenia" cols="20" rows="5"></textarea><br/>
  10. <input type="text" name="Imię"/><br/>
  11. <input type="text" name="Nazwisko"/><br/>
  12. <input type="text" name="Adres"/><br/>
  13. <input type="checkbox" name="pole" value="true"/>coś tam<br/>
  14. <input type="file" name="nazwa_pliku"/><br/>
  15. <input type="submit" value="Dalej"/>
  16. </form>
  17. </body>
  18. </html>

Przepraszam z góry za to że nie dałem kolorowania składni ale nie da rady....
pyro
ale burdel sie zrobił z ukośnikami, wstaw w [php]
Piro
Już pozmieniałem... ale nadal jestem w kropce bo już nie wiem co zrobić a nie chce mi się zaczynać od początku.
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.