Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] dodanie pliku do formularza email
manitou
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 2.12.2006

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


Szukam i szukam na forum nic konkretnego nie znalazłem .


Mam formularz i chcę mieć w nim pole :
  1. <input name="zdjecia" type="file" >


Jak zrobić by załadować zdjęcie do formularza , i wysłać go na e-mail ?

Chcę ominąć ładowanie zdjęcia na serwer , chcę by prosto szedł na maila .


czekam na pomoc ... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
kelis
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.12.2006

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


Tak na szybko znalazłem klasę obsługującą maile w php, ma także opcje wysylania plikow w zalacznikach.

->phpMailer

Mozesz sie pobawic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
manitou
post
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 2.12.2006

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


Cytat(kelis @ 14.12.2006, 20:07:29 ) *


Dzięki , może coś z tego wyciągnę .

ale po wstępnym rzutem oka małe szanse ...

Mam formularz a raczej ankietę dość obszerną i fajnie by było jak by ktoś mi podpowiedział jak rozbudować "swoje" .
Go to the top of the page
+Quote Post
lopik
post
Post #4





Grupa: Zarejestrowani
Postów: 340
Pomógł: 0
Dołączył: 7.07.2006

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


Nie wiem czy działa, google znalazło (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
http://php.webhelp.pl/index.php?id=106&...php&ac=read
Go to the top of the page
+Quote Post
manitou
post
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 2.12.2006

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


Cytat(lopik @ 15.12.2006, 01:13:51 ) *




(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) już testuję . Musi działać .DZIĘKI (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

No i (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif) niedziała .

Maile niedochodzą , może ktoś poprawi jeżeli jest co w tym poprawiać :

  1. <form name="form1" method="post" action="sendmail.php" enctype="multipart/form-data">
  2. <table width="300" border="0" cellspacing="0" cellpadding="0">
  3. <tr><td>subject</td><td><input type="text" name="subject"></td></tr>
  4. <tr><td>replayto</td><td><input type="text" name="replayto"></td></tr>
  5. <tr><td>from</td><td><input type="text" name="from"></td></tr>
  6. <tr><td>sendto</td><td><input type="text" name="sendto"></td></tr>
  7. <tr><td>message</td><td><textarea name="message" wrap="VIRTUAL"></textarea></td></tr>
  8. <tr><td>filename</td><td><input type="file" name="filename"></td></tr>
  9. <tr><td colspan="2"><input type="submit" name="Submit" value="Submit"></td></tr>
  10. </form>


sendmail.php
  1. <?php
  2. $boundary = "-->===_54654747_===<---->>4255==_";
  3.  
  4. // Zmiennych $subject i $sendto nie musimy w żaden sposób przerabiać.
  5.  
  6. // Teraz trzeba sformatować nagłówek.
  7.  
  8. $head = "From: $fromn";
  9. $head = $head . "Reply-To: $replyton";
  10. $head = $head . "X-Mailer: phpn";
  11. $head = $head . "X-Sender: $fromn";
  12. $head = $head . "MIME-version: 1.0n";
  13. $head = $head . "Content-type: multipart/mixed; ";
  14. $head = $head . "boundary="$boundary"n";
  15. $head = $head . "Content-transfer-encoding: 7BITn";
  16. $head = $head . "X-attachments: $filename_name;nn";
  17.  
  18. // Jeszcze tylko treść wiadomości i możemy słać pocztę 
  19.  
  20. $mesg = "--" . $boundary . "n"; //pamiętamy dwa minusy na początku
  21. $mesg = $mesg . "Content-Type: text/plain; charset="us-ascii"nn";
  22. $mesg = $mesg . $message . "n";
  23. $mesg = $mesg . "--" . $boundary . "n"; //pamiętamy dwa minusy na początku
  24.  $mesg = $mesg . "Content-type: " . $filename_type . "; name="$filename_name";n";
  25. $mesg = $mesg . "Content-Transfer-Encoding: base64n";
  26. $mesg = $mesg . "Content-disposition: attachment; filename= "$filename_name"nn";
  27. $mesg = $mesg . fileopenanddecode($filename) . "n";  //czytamy plik i go kodujemy
  28. $mesg = $mesg . "--" . $boundary . "-- n"; //pamiętamy dwa minusy na początku i na końcu
  29.  
  30.  
  31.  
  32. //funkcja odczytująca plik i kodująca go d o formatu base64 zgodnie z RFC 2045
  33. function fileopenanddecode($file) {
  34. if (is_readable($file)) {
  35.  $fd = fopen($file, "r");
  36.  $plik = fread($fd, filesize($file));
  37.  $encoded = chunk_split(base64_encode($plik));
  38.  fclose($fd);
  39. }
  40. return $encoded;
  41. }
  42.  
  43. // i to wszystko teraz tylko 
  44. mail($sendto, $subject, $mesg, $head); 
  45. //i poszło
  46. ?>




pozdr

Ten post edytował manitou 16.12.2006, 15:15:37
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: 25.08.2025 - 06:37