Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Gromadzenie tekstu i plikow
Matiash
post
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 7.04.2007

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


Witam, otoz chcialbym umiescic na moejej stronie formularz w ktorym uzytkownicy serwisu mogliby napisac temat wiadomosci, tresc wiadomosci i dolaczoyc kilka plikow ( okolo 10, ale za to do 200kb ) i zeby to wszystko bylo zapisane na serwerze lub wyslane na maila. Probowalem juz wiele sposobow. ( phpmailer, funkcja mail- tu prawie mi sie udalo ale zawsze wysyla mi tylko jeden plik + tekst a nie wszystkie zalaczone ) ale nikt mi nie pomogl, siedzie juz nad tym od dluzszego czasu. Pisalem kilka innych postow, odpowiedzi albo byly niejasne albo w ogole. Inni pisali krotko: skorzystaj z phpmailer... - lecz nie potrafili podac zadnych konkretow.

Czy mozecie mi cos poradzic ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Matiash
post
Post #2





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 7.04.2007

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


i jak udalo Ci sie ?

Uzywales funkcji mail () ?

rojmarek a jakiej funkcji trzeba uzyyc zeby "co mi przyszło do głowy: możesz pliki (jakkolwiek) zapisać na serwerze, no a na maila sobie wysyłać linki do tych plików..."

Takie cos jak napisales tez odpowiadalo by mi...

Co do mojego formularza to mam takie cos i dziala ale tylko z jedneym zalacznikiem

formularz.htm
  1. <FORM NAME="zalacznik" METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
  2. <input type="hidden" name="wyslij" value="1" />
  3. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  4. <INPUT type="file" name="plik1">
  5. <INPUT TYPE="SUBMIT" VALUE="Wyślij zalacznik">
  6. </FORM>


wyslij.php
  1. <?php
  2. //sprawdzenie czy załącznik pochodzi z formularza
  3. if ($_POST["wyslij"]==1)
  4. {
  5. srand((double)microtime()*1000000);
  6. $znacznik = md5(uniqid(rand()));
  7.  
  8. // dane o odbiorcy, nadawcy
  9. $odbiorca="nazwa-twojego-maila@domena.pl";
  10. $tytul="Mail z zalaczniekiem";
  11. $nadawca = "Mail ze strony";
  12. $nadawca_mail="mail-ze-strony@domena.pl";
  13.  
  14. // treść listu
  15. $tresclistu = "tutaj piszesz całą treść maila";
  16.  
  17. // definicja nagłówków
  18. $naglowki = "From: $nadawca <$nadawca_mail>n";
  19. $naglowki .= "MIME-Version: 1.0n";
  20. $naglowki .= "Content-Type: multipart/mixed;n";
  21. $naglowki .= "tboundary="___$znacznik=="";
  22.  
  23. // nagłówki listu
  24. $tresc="--___$znacznik==n";
  25. $tresc .="Content-Type: text/plain; charset="iso-8859-2"n";
  26. $tresc .="Content-Transfer-Encoding: 8bitn";
  27. $tresc .="n$tresclistun";
  28.  
  29. // nagłówki i obsługa załącznika
  30. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  31. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  32. $plik_wielkosc = $_FILES["plik1"]["size"];
  33.  
  34. if (is_uploaded_file($plik_nazwa_tmp))
  35. {
  36. $tresc .="--___$znacznik==n";
  37. $tresc .="Content-Type: image/gifn";
  38. $tresc .="Content-Disposition: attachment;n";
  39. $tresc .=" filename="$plik_nazwa_oryginalna"n";
  40. $tresc .="Content-Transfer-Encoding: base64nn";
  41. $f = fopen($plik_nazwa_tmp,"rb");
  42. $dane = fread($f,filesize($plik_nazwa_tmp));
  43. fclose($f);
  44. $tresc .= chunk_split(base64_encode($dane));
  45. $tresc .="--___$znacznik==--n";
  46. }
  47.  
  48. // wysłanie listu
  49.  if (mail($odbiorca,$tytul,$tresc,$naglowki))
  50.  {
  51.  print "E-mail z załącznikiem został wysłany poprawnie.";
  52.  }
  53.  else
  54.  {
  55.  print "E-mail NIE został wysłany poprawnie.
  56.  <br>Prosimy o <a href="java script:history.back();">powrót</a> i wysłanie e-maila ponownie.";
  57.  }
  58. }
  59. ?>


Jednak podczas proby wyslania kilku zalacznikow tzn powielilem ten fragment kodu ( oczywiscie ze zmienionymi nazwami z "plik" na np. "plik1" )

  1. <?php
  2. // nagłówki i obsługa załącznika
  3. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  4. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  5. $plik_wielkosc = $_FILES["plik1"]["size"];
  6.  
  7. if (is_uploaded_file($plik_nazwa_tmp))
  8. {
  9. $tresc .="--___$znacznik==n";
  10. $tresc .="Content-Type: image/gifn";
  11. $tresc .="Content-Disposition: attachment;n";
  12. $tresc .=" filename="$plik_nazwa_oryginalna"n";
  13. $tresc .="Content-Transfer-Encoding: base64nn";
  14. $f = fopen($plik_nazwa_tmp,"rb");
  15. $dane = fread($f,filesize($plik_nazwa_tmp));
  16. fclose($f);
  17. $tresc .= chunk_split(base64_encode($dane));
  18. $tresc .="--___$znacznik==--n";
  19. }
  20. ?>


nie dzialalo wyslanie kilku zalacznikow.


Oczywiscie Twoje rozwiazania tez sa dobre tylko jak zrobic zeby mnie sie link wysylal na maila do plikow a tekst formularza na moja skrzynke. Takie cos byloby idealne !

Ten post edytował Matiash 9.04.2007, 14:03:39
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 15:08