Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wysyłanie pliku przez maila
Piro
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.07.2008

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


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....

Ten post edytował Piro 5.07.2008, 16:51:02
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
pyro
post
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


ale burdel sie zrobił z ukośnikami, wstaw w [php]
Go to the top of the page
+Quote Post
Piro
post
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 5.07.2008

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


Już pozmieniałem... ale nadal jestem w kropce bo już nie wiem co zrobić a nie chce mi się zaczynać od początku.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 14:47