Poprosze o pomoc, znam php bardzo slabo , potrzebuje napisac formularz który będzie wysyłany na maila z zalacznikami. Wiem ze tego typu problem byl juz wiele razy pisany ale nigdzie nie moge znalezc skryptu dla wiecej niz jednego zalacznika.
Mam taki formularz:
Kod
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<FORM NAME="zalacznik" METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
<input type="hidden" name="wyslij" value="1" />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<INPUT type="file" name="plik1">
<INPUT type="file" name="plik2">
<INPUT type="file" name="plik3">
<INPUT type="file" name="plik4">
<INPUT type="file" name="plik5">
<INPUT TYPE="SUBMIT" VALUE="Wyślij zalacznik">
</FORM>
</body>
</html>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
</head>
<body>
<FORM NAME="zalacznik" METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data">
<input type="hidden" name="wyslij" value="1" />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<INPUT type="file" name="plik1">
<INPUT type="file" name="plik2">
<INPUT type="file" name="plik3">
<INPUT type="file" name="plik4">
<INPUT type="file" name="plik5">
<INPUT TYPE="SUBMIT" VALUE="Wyślij zalacznik">
</FORM>
</body>
</html>
I taki kod php:
Kod
<?php
//sprawdzenie czy załącznik pochodzi z formularza
if ($_POST["wyslij"]==1)
{
srand((double)microtime()*1000000);
$znacznik = md5(uniqid(rand()));
// dane o odbiorcy, nadawcy
$odbiorca="djhexon@o2.pl";
$tytul="Mail z zalaczniekiem";
$nadawca = "Mail ze strony";
$nadawca_mail="mail-ze-strony@domena.pl";
// treść listu
$tresclistu = "tutaj piszesz całą treść maila";
// 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"];
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";
}
// nagłówki i obsługa załącznika
$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,"rc");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik3"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik3"]["name"];
$plik_wielkosc = $_FILES["plik3"]["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,"rc");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik4"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik4"]["name"];
$plik_wielkosc = $_FILES["plik4"]["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,"rc");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik5"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik5"]["name"];
$plik_wielkosc = $_FILES["plik5"]["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,"rc");
$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.";
}
}
?>
//sprawdzenie czy załącznik pochodzi z formularza
if ($_POST["wyslij"]==1)
{
srand((double)microtime()*1000000);
$znacznik = md5(uniqid(rand()));
// dane o odbiorcy, nadawcy
$odbiorca="djhexon@o2.pl";
$tytul="Mail z zalaczniekiem";
$nadawca = "Mail ze strony";
$nadawca_mail="mail-ze-strony@domena.pl";
// treść listu
$tresclistu = "tutaj piszesz całą treść maila";
// 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"];
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";
}
// nagłówki i obsługa załącznika
$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,"rc");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik3"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik3"]["name"];
$plik_wielkosc = $_FILES["plik3"]["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,"rc");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik4"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik4"]["name"];
$plik_wielkosc = $_FILES["plik4"]["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,"rc");
$dane = fread($f,filesize($plik_nazwa_tmp));
fclose($f);
$tresc .= chunk_split(base64_encode($dane));
$tresc .="--___$znacznik==--\n";
}
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik5"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik5"]["name"];
$plik_wielkosc = $_FILES["plik5"]["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,"rc");
$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.";
}
}
?>
Niby wszystko dziala poprawnie, ale...
Jakodbieram pocztę, to jest tylko plik, który wybrałem w pierwszym polu. Proszę was o pomoc