Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]skrypt wysyłanie pliku do adresata
tomekx86
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.04.2014

Ostrzeżenie: (10%)
X----


Witam,
potrzebuję pomocy przy poprawieniu tego skryptu, gdyż plik nie jest załączany i wysyłany. Ktoś może mi to poprawić ?
  1. <form action="praca.php" method="post"
  2. enctype="multipart/form-data">
  3. <div>
  4. Załącz CV:<br/>
  5. <input type="file" name="cv" required/></br></br>
  6. Załącz List motywacyjny:<br/>
  7. <input type="file" name="list" required/></br></br>
  8. Załącz zdjęcie:<br/>
  9. <input type="file" name="zdjecie"/></br></br>
  10. <input type="text" size="30" name="telefon"
  11. maxlenght="30"placeholder="Telefon kontaktowy"required/></br></br>
  12. <input type="text" size="30" name="email"
  13. maxlenght="30"placeholder="Twój e-mail"required/></br></br>
  14. <textarea cols="40" rows="7" name="wiadomosc" placeholder="Tu wpisz swoje pytanie"required/></textarea></br></br>
  15. <input type="submit" name="submit" value="Wyślij"/>&emsp;<input type="reset" value="Wyczyść formularz"/>
  16. </div>
  17. </form>


  1. <?php
  2. if(isset($_POST['submit'])) {
  3. $to = 'biuro@somont.xaa.pl';
  4. $subject = 'Wiadomość w sprawie pracy';
  5. $cv = $_POST['cv'];
  6. $list = $_POST['list'];
  7. $zdjecie = $_POST['zdjecie'];
  8. $telefon = $_POST['telefon'];
  9. $email = $_POST['email'];
  10. $wiadomosc = $_POST['wiadomosc'];
  11. $list2 = "Wiadomość w sprawie pracy \n\n\n CV: $cv \n\n\n List motywacyjny: $list \n\n\n zdjecie: $zdjecie \n\n\n telefon: $Wiadomość \n\n\n telefon: $wiadomosc";
  12. $nadawca = "From: $email" . "\r\n" . "Reply-To: $email" . "\r\n" . 'X-Mailer: PHP/' . phpversion();
  13. $nadawca2 = "From: $to" . "\r\n" . "Reply-To: $to" . "\r\n" . 'X-Mailer: PHP/' . phpversion();
  14. mail($to, $subject, $list2, $nadawca);
  15. mail($email, $subject, $list2, $nadawca2);
  16. }
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tomekx86
post
Post #2





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 10.04.2014

Ostrzeżenie: (10%)
X----


Sorry, tam źle wkleiłem (bez ";") i pokazywało coś innego. Teraz poprawione i jest tak (bez body).

Array ( [plik1] => Array ( [name] => [type] => [tmp_name] => [error] => 4 [size] => 0 ) [plik2] => Array ( [name] => oferta - Kopia.pdf [type] => application/pdf [tmp_name] => /tmp/phpxEEWrE [error] => 0 [size] => 70501 ) [plik3] => Array ( [name] => middle2.gif [type] => image/gif [tmp_name] => /tmp/phpxr0KWJ [error] => 0 [size] => 382 ) )

Dziękujemy za przesłanie dokumentów aplikacyjnych. Skontaktujemy się z Tobą gdy pojawią się oferty pracy.
Aby cofnąć się do poprzedniej strony proszę kliknąć przycisk Wstecz.

I dodam jeszcze, że mail dochodzi tylko z jednym załącznikiem. Brak <body> nie ma tu znaczenia.

Na obu tematach są dwa rózne kody. Obecnie próbuję na tym - myślałem że to jest jasne:
  1. <?php
  2.  
  3. //sprawdzenie czy załącznik pochodzi z formularza
  4. if ($_POST["wyslij"]==1)
  5. {print_r($_FILES);
  6. srand((double)microtime()*1000000);
  7. $znacznik = md5(uniqid(rand()));
  8.  
  9. // dane o odbiorcy, nadawcy
  10. $odbiorca="biuro@somont.xaa.pl";
  11. $tytul="Dokumenty aplikacyjne";
  12. $nadawca = "Dokumenty aplikacyjne";
  13. $nadawca_mail="mail-ze-strony@domena.pl";
  14.  
  15. // treść listu
  16. $tresclistu = "tutaj piszesz całą treść maila";
  17.  
  18. // definicja nagłówków
  19. $naglowki = "From: $nadawca <$nadawca_mail>\n";
  20. $naglowki .= "MIME-Version: 1.0\n";
  21. $naglowki .= "Content-Type: multipart/mixed;\n";
  22. $naglowki .= "\tboundary=\"___$znacznik==\"";
  23.  
  24. // nagłówki listu
  25. $tresc="--___$znacznik==\n";
  26. $tresc .="Content-Type: text/plain; charset=\"utf-8\"\n";
  27. $tresc .="Content-Transfer-Encoding: 8bit\n";
  28. $tresc .="\n$tresclistu\n";
  29.  
  30. // nagłówki i obsługa załącznika
  31. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  32. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  33. $plik_wielkosc = $_FILES["plik1"]["size"];
  34.  
  35. if (is_uploaded_file($plik1))
  36. {
  37. $tresc .="--___$znacznik==\n";
  38. $tresc .="Content-Type: /pdf/doc/docx\n";
  39. $tresc .="Content-Disposition: attachment;\n";
  40. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  41. $tresc .="Content-Transfer-Encoding: base64\n\n";
  42. $f = fopen($plik_nazwa_tmp,"rb");
  43. $dane = fread($f,filesize($plik_nazwa_tmp));
  44. fclose($f);
  45. $tresc .= chunk_split(base64_encode($dane));
  46. $tresc .="--___$znacznik==--\n";
  47. }
  48. // nagłówki i obsługa załącznika 2
  49. $plik_nazwa_tmp = $_FILES["plik2"]["tmp_name"];
  50. $plik_nazwa_oryginalna = $_FILES["plik2"]["name"];
  51. $plik_wielkosc = $_FILES["plik2"]["size"];
  52.  
  53. if (is_uploaded_file($plik2))
  54. {
  55. $tresc .="--___$znacznik==\n";
  56. $tresc .="Content-Type: /pdf/doc/docx\n";
  57. $tresc .="Content-Disposition: attachment;\n";
  58. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  59. $tresc .="Content-Transfer-Encoding: base64\n\n";
  60. $f = fopen($plik_nazwa_tmp,"rb");
  61. $dane = fread($f,filesize($plik_nazwa_tmp));
  62. fclose($f);
  63. $tresc .= chunk_split(base64_encode($dane));
  64. $tresc .="--___$znacznik==--\n";
  65. }
  66. // nagłówki i obsługa załącznika 3
  67. $plik_nazwa_tmp = $_FILES["plik3"]["tmp_name"];
  68. $plik_nazwa_oryginalna = $_FILES["plik3"]["name"];
  69. $plik_wielkosc = $_FILES["plik3"]["size"];
  70.  
  71. if (is_uploaded_file($plik3))
  72. {
  73. $tresc .="--___$znacznik==\n";
  74. $tresc .="Content-Type: /jpg/jpeg/gif/png\n";
  75. $tresc .="Content-Disposition: attachment;\n";
  76. $tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
  77. $tresc .="Content-Transfer-Encoding: base64\n\n";
  78. $f = fopen($plik_nazwa_tmp,"rb");
  79. $dane = fread($f,filesize($plik_nazwa_tmp));
  80. fclose($f);
  81. $tresc .= chunk_split(base64_encode($dane));
  82. $tresc .="--___$znacznik==--\n";
  83. }
  84. // wysłanie listu
  85. if (mail($odbiorca,$tytul,$tresc,$naglowki))
  86. {
  87. print "";
  88. }
  89. else
  90. {
  91. print "E-mail NIE został wysłany poprawnie.
  92. <br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie załączników ponownie.";
  93. }
  94. }
  95. ?>


A to html
  1. <FORM METHOD="post" ACTION="praca.php" ENCTYPE="multipart/form-data">
  2. <input type="hidden" name="wyslij" value="1" />
  3. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  4. Załącz CV (doc, docx, pdf): <br/><INPUT type="file" name="plik1"/><br/><br/>
  5. Załącz list motywacyjny (doc, docx, pdf): <br/><INPUT type="file" name="plik2" /><br/><br/>
  6. Załącz zdjęcie (jpg, gif, png): <br/><INPUT type="file" name="plik3";><br/><br/>
  7. <INPUT TYPE="SUBMIT" VALUE="Wyślij załączniki">&emsp;<input type="reset" value="Wyczyść"/>
  8. </FORM>


Co mam pokazać - który kod ? Przecież wkleiłem go teraz, a tak naprawdę nie różni się niczym od tego opublikowanego o godz. 20:02 (post 7).

Tak jak patrzę na ten kod, nie znam się na tym co prawda o czym już informowałem, ale wydaje mi się że brakuje tam jakiegoś operatora. Jest takie coś: if (is_uploaded_file($plik1)), później to powtarza się jeszcze 2 razy. Wg mnie gdzieś między tym wszystkim powinno być coś takiego jak "i" albo "lub". SKrypt widzi jeśli jest załadowana plik, to coś wyślij. I dlatego wysyła pierwszy plik na który napotka. A gdyby było jeszcze to "i" albo "lub" to brałby pod uwagę wszystkie pliki i wszystkie byłyby dostarczane do adresata.
To takie moje odczucia.

Ten post edytował tomekx86 6.05.2014, 20:21:17
Go to the top of the page
+Quote Post

Posty w temacie
- tomekx86   [PHP][HTML]skrypt wysyłanie pliku do adresata   5.05.2014, 15:50:27
- - Turson   Zdjęcie masz w tablicy $_FILES a nie $_P...   5.05.2014, 16:17:11
- - tomekx86   Kolego dziękuję za odpowiedź, ale pisząc drugie zd...   5.05.2014, 16:20:54
- - Turson   http://phpedia.pl/wiki/Phpmailer dołącz jako załąc...   5.05.2014, 16:36:35
- - tomekx86   Jak ten załącznik dodać ? Wydaje mi się że kolega ...   5.05.2014, 16:50:25
- - Turson   PHPMailer jest biblioteką do wysyłania emaili. Cy...   5.05.2014, 16:56:36
- - tomekx86   Umiesz poprawić mi ten skrypt? Bo widzę, że komple...   6.05.2014, 19:02:53
- - johny_s   a sprawdzałeś chociaż czy Ci wgrywa wszystkie plik...   6.05.2014, 19:11:15
- - tomekx86   Można załączyć 3 pliki: CV, List i zdjęcie. I tera...   6.05.2014, 19:21:42
- - johny_s   [PHP] pobierz, plaintext print_r($_FILES)[...   6.05.2014, 19:29:27
- - tomekx86   Kolego możesz jaśniej? Zielony jestem w tych spraw...   6.05.2014, 19:32:29
- - johny_s   to nic innego Ci nie zostaje jak dział zlecen lub ...   6.05.2014, 19:40:54
- - tomekx86   No kurcze nie umiesz pomóc tylko odsyłać do nauki ...   6.05.2014, 19:44:48
- - com   no dlatego są tu specjaliści którzy Ci to zrobią, ...   6.05.2014, 19:53:46
- - tomekx86   Kolego zgadzam się, ale jak pisze się jezykiem nie...   6.05.2014, 19:58:31
- - com   no wkleić masz print_r($_FILES); po if (...   6.05.2014, 20:03:58
- - tomekx86   Kolego COM, po wklejeniu tego tekstu, wyrzuca coś ...   6.05.2014, 20:08:29
- - com   pokaż kod po zmianach a ja mówiłem o kodzie z tego...   6.05.2014, 20:14:01
- - tomekx86   RE: [PHP][HTML]skrypt wysyłanie pliku do adresata   6.05.2014, 22:20:03
- - PrinceOfPersia   CytatNo kurcze nie umiesz pomóc tylko odsyłać do n...   6.05.2014, 23:00:51
- - tomekx86   Ludzie kto pomoże ?   7.05.2014, 11:12:27
- - Turson   jak masz formularz z dodawaniem plików: [HTML] pob...   7.05.2014, 11:44:29
- - tomekx86   Turson, ale wciąż czegoś nie rozumiem. W pliku m...   7.05.2014, 11:54:20
- - Posio   Szanowny kolego. To o co prosisz to nie jest pomoc...   7.05.2014, 11:55:40
- - tomekx86   A więc? Posio się pomądrzył, mimo że nie ma racji....   7.05.2014, 12:46:51
- - Turson   Mnie na pw też nazwałeś "przemądrzalcem i waż...   7.05.2014, 13:17:13
- - tomekx86   Ja mam złe podejście? Chyba żartujesz. Nie chcesz ...   7.05.2014, 13:21:23
- - Turson   Próbuj po trochu samemu wykazując trochę własnej i...   7.05.2014, 13:41:11
- - tomekx86   I jeszcze jedno do użytkowników Turson, Posio - mo...   7.05.2014, 13:48:30
|- - johny_s   Cytat(tomekx86 @ 7.05.2014, 12:48:30 ...   7.05.2014, 13:59:04
- - Turson   Człowieku, otwórz oczy. Wkleiłem wyżej kod próbują...   7.05.2014, 13:53:40
- - tomekx86   Przecież kod jest wklejony przeze mnie i nikt nie ...   7.05.2014, 13:59:56
- - tomekx86   Ja nic nie zerżnąłem i uważaj co piszesz. To mi ko...   7.05.2014, 16:54:14
- - Posio   Nie chce być niemiły ale właśnie upubliczniłeś pry...   7.05.2014, 17:42:39
- - tomekx86   Jaką prywatną korespondencję upubliczniłem ? O co ...   11.05.2014, 12:06:01


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

 



RSS Aktualny czas: 15.10.2025 - 07:29