Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kilka plikow przez jeden formularz
Forum PHP.pl > Forum > Przedszkole
janusz_23
Czesc!
Jestem żółtodziobem i nie umiem sobie z czyms poradzic... chciałbym aby poprzez poniższy skrypt można było wysyłać kilka plików (zdjec jpeg) a nie jeden. Czy jest to mozliwe?? Caly czas probuje jakos go zmodyfikować wlasnymi siłami ale nie umiem.. Prosze o POMOC

Kod
<?php

@ $nazwa = $_POST['nazwa'];
@ $ulica = $_POST['ulica'];
@ $miejscowosc = $_POST['miejscowosc'];
@ $poczta = $_POST['poczta'];


//sprawdzenie czy załącznik pochodzi z formularza
if ($_POST["wyslij"]==1)
{
srand((double)microtime()*1000000);
$znacznik = md5(uniqid(rand()));

// dane o odbiorcy, nadawcy
$odbiorca="o..........";
$tytul="O...............";
$nadawca = "Mail ze strony";
$nadawca_mail="mail-ze-strony@domena.pl";

// treść listu
$tresclistu = " nazwa: $nazwa ulica: $ulica miejscowosc: $miejscowosc poczta: $poczta";

// definicja nagłówków
$naglowki = "From: $nadawca <$nadawca_mail>\n";
$naglowki .= "MIME-Version: 1.0\n";
$naglowki .= "Content-Type: multipart/mixed;\n";
$naglowki .= "\tboundary=\"___$znacznik==\"";

// nagłówki listu
$tresc="--___$znacznik==\n";
$tresc .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
$tresc .="Content-Transfer-Encoding: 8bit\n";
$tresc .="\n$tresclistu\n";

// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
$plik_wielkosc = $_FILES["plik1"]["size"];

$plik_nazwa_tmp = $_FILES["plik2"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik2"]["name"];
$plik_wielkosc = $_FILES["plik2"]["size"];



if (is_uploaded_file($plik_nazwa_tmp))
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif/\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp,"rb");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}


// wysłanie listu
if (mail($odbiorca,$tytul,$tresc,$naglowki))
{
print "E-mail z załącznikiem został wysłany poprawnie.";
}
else
{
print "E-mail NIE został wysłany poprawnie.
<br>Prosimy o <a href=\"java script:history.back();\">powrót</a> i wysłanie e-maila ponownie.";
}
}
?>
cadavre
Nie możesz redefiniować zmiennych jak tutaj:
  1. <?php
  2. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  3. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  4. $plik_wielkosc = $_FILES["plik1"]["size"];
  5.  
  6. $plik_nazwa_tmp = $_FILES["plik2"]["tmp_name"];
  7. $plik_nazwa_oryginalna = $_FILES["plik2"]["name"];
  8. $plik_wielkosc = $_FILES["plik2"]["size"];
  9. ?>

Możesz dodać do drugich zmiennych jakiś suffix np. "_2".
janusz_23
poprawilem, ale nadal nie dziala...
w pliku html mam:
  1. <input type="hidden" name="wyslij" value="1" />
  2. <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
  3. <INPUT type="file" name="plik1"><BR>
  4. <INPUT type="file" name="plik1_2"><BR><BR><BR>


a w pliku wyslij.php mam tak:
  1. <?php
  2.  
  3. @ $nazwa = $_POST['nazwa'];
  4. @ $ulica = $_POST['ulica'];
  5. @ $miejscowosc = $_POST['miejscowosc'];
  6. @ $poczta = $_POST['poczta'];
  7.  
  8.  
  9. //sprawdzenie czy załącznik pochodzi z formularza
  10. if ($_POST["wyslij"]==1)
  11. {
  12. srand((double)microtime()*1000000);
  13. $znacznik = md5(uniqid(rand()));
  14.  
  15. // dane o odbiorcy, nadawcy
  16. $odbiorca="dexteris@o2.pl";
  17. $tytul="formularz";
  18. $nadawca = "Mail ze strony";
  19. $nadawca_mail="mail-ze-strony@domena.pl";
  20.  
  21. // treść listu
  22. $tresclistu = " nazwa: $nazwa ulica: $ulica miejscowosc: $miejscowosc poczta: $poczta";
  23.  
  24. // definicja nagłówków
  25. $naglowki = "From: $nadawca <$nadawca_mail>n";
  26. $naglowki .= "MIME-Version: 1.0n";
  27. $naglowki .= "Content-Type: multipart/mixed;n";
  28. $naglowki .= "tboundary="___$znacznik=="";
  29.  
  30. // nagłówki listu
  31. $tresc="--___$znacznik==n";
  32. $tresc .="Content-Type: text/plain; charset="iso-8859-2"n";
  33. $tresc .="Content-Transfer-Encoding: 8bitn";
  34. $tresc .="n$tresclistun";
  35.  
  36. // nagłówki i obsługa załącznika
  37. $plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
  38. $plik_nazwa_tmp = $_FILES["plik1_2"]["tmp_name"];
  39. $plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
  40. $plik_nazwa_oryginalna = $_FILES["plik1_2"]["name"];
  41.  $plik_wielkosc = $_FILES["plik1"]["size"];
  42.  $plik_wielkosc = $_FILES["plik1_2"]["size"];
  43.  
  44.  
  45.  
  46.  
  47.  
  48. if (is_uploaded_file($plik_nazwa_tmp))
  49. {
  50. $tresc .="--___$znacznik==n";
  51. $tresc .="Content-Type: image/gif/n";
  52. $tresc .="Content-Disposition: attachment;n";
  53. $tresc .=" filename="$plik_nazwa_oryginalna"n";
  54. $tresc .="Content-Transfer-Encoding: base64nn";
  55. $f = fopen($plik_nazwa_tmp,"rb");
  56. $dane = fread($f,filesize($plik_nazwa_tmp));
  57. fclose($f);
  58. $tresc .= chunk_split(base64_encode($dane));
  59. $tresc .="--___$znacznik==--n";
  60.  }
  61.  
  62.  
  63. // wysłanie listu
  64.  if (mail($odbiorca,$tytul,$tresc,$naglowki))
  65.  {
  66.  print "E-mail z załącznikiem został wysłany poprawnie.";
  67.  }
  68.  else
  69.  {
  70.  print "E-mail NIE został wysłany poprawnie.
  71.  <br>Prosimy o <a href="java script:history.back();">powrót</a> i wysłanie e-maila ponownie.";
  72.  }
  73. }
  74. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.