Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Proźba o pomoc w edycji skryptu, Jak ustawić minimalną wielkość załącznika?
marjaan
post
Post #1





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

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


Witam serdecznie

mój skrypt wysyła maila i 5 załączników, ale jest spora niedogodność, mianowicie...
jeśli do formularza dołączę tylko jeden załącznik, to skrypt wyśle mi na maila i tak 5 załączników... z tym że jeden to będzie faktycznie załączony do formularza plik...
a pozostałe cztery to będą puste pliki TXT z kolejnymi nazwami... poniżej pokażę jak to wygląda...

Załączniki:
bezNazwy1.txt (0,20 kB) Zapisz <<< to jest plik zawierający treść maila
angielski.doc (41,46 kB) Zapisz <<< to jest faktycznie załączony przeze mnie do formularza załącznik
bezNazwy2.txt (0,00 kB) Zapisz <<< a reszta to puste pliki txt, wysłane w miejsce nie załączonych załączników
bezNazwy3.txt (0,00 kB) Zapisz
bezNazwy4.txt (0,00 kB) Zapisz
bezNazwy5.txt (0,00 kB) Zapisz


Chciałbym oczywiście żeby dochodziło tylko tyle załączników ile faktycznie załączę, bez tych zbędnych pustych załączników, lub aby skrypt ignorował załączniki o zerowej wielkości
Czy wiesz może jaką funkcję trzeba dopisać, co zmienić w kodzie, by osiągnąć ten cel?

Oto aktualny wygląd skryptu:

  1. <?php
  2. $arrLocale = array( "pl_PL", "polish_pol" );
  3. setlocale( LC_ALL, $arrLocale );
  4.  
  5. $data = strftime("%A, %d %B %Y");
  6. $boundary = "-->===_54654747_===<---->>4255==_";
  7.  
  8. $head = "From: $email\n";
  9. $head = $head . "Reply-To: $email\n";
  10. $head = $head . "X-Mailer: PHP\n";
  11. $head = $head . "X-Sender: $email\n";
  12. $head = $head . "MIME-version: 1.0\n";
  13. $head = $head . "Content-type: multipart/mixed; ";
  14. $head = $head . "boundary=\"$boundary\"\n";
  15. $head = $head . "Content-transfer-encoding: 7BIT\n";
  16. $head = $head . "X-attachments: $filename_name;\n\n";
  17.  
  18.  
  19. $mesg = "--" . $boundary . "\n";
  20. $mesg = $mesg . "Content-Type: text/plain; charset=\"iso-8859-2\"\n\n";
  21. $mesg = $mesg
  22.  
  23. .$numer = "Numer zlecenia: $numer" ." "
  24. .$data1 = "Data: $data1" ."\n"
  25. .$zleceniodawca = "Zleceniodawca: $zleceniodawca" ."\n"
  26. .$z_jezyka = "Tlumaczenie z jezyka: $z_jezyka" ." "
  27. .$na_jezyk = "na jezyk: $na_jezyk" ."\n"
  28. .$dane = "Dane do rachunku: $dane" ."\n"
  29. .$telefon = "Telefon: $telefon" ."\n"
  30. .$uwagi = "Uwagi: $uwagi" ."\n"
  31. .$www = "Strona www: $www" ."\n"
  32. .$email = "E-MAIL: $email" ."\n"
  33. .$data = "Wysłano dnia: $data" ."\n";
  34.  
  35. // plik1
  36.  
  37. $mesg = $mesg . "--" . $boundary . "\n";
  38. $mesg = $mesg . "Content-type: " . $filename1_type . "; name=\"$filename1_name\";\n";
  39. $mesg = $mesg . "Content-Transfer-Encoding: base64\n";
  40. $mesg = $mesg . "Content-disposition: attachment; filename= \"$filename1_name\"\n\n";
  41. $mesg = $mesg . fileopenanddecode($filename1) . "\n";
  42. $mesg = $mesg . "--" . $boundary . "\n";
  43.  
  44. // plik2
  45.  
  46. $mesg = $mesg . "--" . $boundary . "\n";
  47. $mesg = $mesg . "Content-type: " . $filename2_type . "; name=\"$filename2_name\";\n";
  48. $mesg = $mesg . "Content-Transfer-Encoding: base64\n";
  49. $mesg = $mesg . "Content-disposition: attachment; filename= \"$filename2_name\"\n\n";
  50. $mesg = $mesg . fileopenanddecode($filename2) . "\n";
  51. $mesg = $mesg . "--" . $boundary . "\n";
  52.  
  53. // plik3
  54.  
  55. $mesg = $mesg . "--" . $boundary . "\n";
  56. $mesg = $mesg . "Content-type: " . $filename3_type . "; name=\"$filename3_name\";\n";
  57. $mesg = $mesg . "Content-Transfer-Encoding: base64\n";
  58. $mesg = $mesg . "Content-disposition: attachment; filename= \"$filename3_name\"\n\n";
  59. $mesg = $mesg . fileopenanddecode($filename3) . "\n";
  60. $mesg = $mesg . "--" . $boundary . "\n";
  61.  
  62. // plik4
  63.  
  64. $mesg = $mesg . "--" . $boundary . "\n";
  65. $mesg = $mesg . "Content-type: " . $filename4_type . "; name=\"$filename4_name\";\n";
  66. $mesg = $mesg . "Content-Transfer-Encoding: base64\n";
  67. $mesg = $mesg . "Content-disposition: attachment; filename= \"$filename4_name\"\n\n";
  68. $mesg = $mesg . fileopenanddecode($filename4) . "\n";
  69. $mesg = $mesg . "--" . $boundary . "\n";
  70.  
  71. // plik5
  72.  
  73. $mesg = $mesg . "--" . $boundary . "\n";
  74. $mesg = $mesg . "Content-type: " . $filename5_type . "; name=\"$filename5_name\";\n";
  75. $mesg = $mesg . "Content-Transfer-Encoding: base64\n";
  76. $mesg = $mesg . "Content-disposition: attachment; filename= \"$filename5_name\"\n\n";
  77. $mesg = $mesg . fileopenanddecode($filename5) . "\n";
  78. $mesg = $mesg . "--" . $boundary . "-- \n";
  79.  
  80.  
  81.  
  82. function fileopenanddecode($file) {
  83. if (is_readable($file)) {
  84. $fd = fopen($file, "r");
  85. $plik = fread($fd, filesize($file));
  86. $encoded = chunk_split(base64_encode($plik));
  87. fclose($fd);
  88. }
  89. return $encoded;
  90. }
  91.  
  92. mail("mojmail@wp.pl", "ZLECENIE ON LINE", $mesg , $head);
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99. ?>
  100.  
  101. <html>
  102.  
  103. <head>
  104. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  105. <meta http-equiv="Content-Language" content="pl">
  106. <link rel="Shortcut icon" href="images/ikonka.ico" />
  107. <title>Zlecenie</title>
  108. </head>
  109.  
  110. <body bgcolor="#9D826D">
  111.  
  112. <p align="left">
  113. <p></p>
  114. <p></p>
  115. <font face="Arial" style="font-size: 14px" color="#FFFFFF"><b>Dziękuję, Twoje dane zostały przesłane!</b></font>
  116. <p></p>
  117. <button name="B3" onclick="java script:history.back();">Kolejne zlecenie
  118. </button></p>
  119. </body>
  120.  
  121. </html>


Ten post edytował marjaan 18.10.2009, 01:10:06
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 11:29