Witam wszystkich mam taki o to problem.
nie wysyła mi plików tak skonstruowany formularz
<?
//wyswietlamy formularz
echo '<FORM METHOD="post" ACTION="wyslij.php" ENCTYPE="multipart/form-data"> <p>Zlecenie</p>
<input type="hidden" name="wyslij" value="1" />
<input type="hidden" name="MAX_FILE_SIZE" value="2100000000" />
<p>Wysłanie pliku nie jest jednoznaczne z zawarciem umowy.<br />
Zawarcie umowy następuje po otrzymaniu maila potwierdzającego.<p>
<table>
<tr>
<td>Rodzaj usługi</td>
<td>-></td>
<td>Format docelowy</td>
</tr>
<tr>
<td><select name="usluga" value="'.$usluga.'" size="1">
<optgroup label="cos">
<option>1</option>
<option>2</option>
<option>3</option>
</optgroup>
<optgroup label="cos2">
<option>1</option>
<option>2</option>
</optgroup>
</select></td>
<td>-></td>
<td><select name="formatd" value="'.$formatd.'" size="1">
<optgroup label="cos3">
<option>1</option>
<option>2</option>
<option>3</option>
</optgroup>
</select></td>
</tr>
</table>
<br />
<table>
<tr>
<td colspan="2">Dane do faktury</td>
<td colspan="2">Dane do wysyłki</td>
<td colspan="2">Dane kontaktowe</td>
</tr>
<tr>
<td>Nazwa firmy</td>
<td><input type="text" name="nazwa_f" value="'.$nazwa_f.'" title="wpisz nazwę firmy" /></td>
<td>Nazwa firmy</td>
<td><input type="text" name="nazwa_f_w" value="'.$nazwa_f_w.'" title="wpisz nazwę firmy" /></td>
<td>Imię i Nazwisko</td>
<td><input type="text" name="im_naz" value="'.$im_naz.'" title="wpisz imię i nazwisko osoby kontaktowej" /></td>
</tr>
<tr>
<td>Ulica i numer</td>
<td><input type="text" name="ul_nr" value="'.$ul_nr.'" title="wpisz ulicę i numer" /></td>
<td>Ulica i numer</td>
<td><input type="text" name="ul_nr_w" value="'.$ul_nr_w.'" title="wpisz ulicę i numer" /></td>
<td>Email</td>
<td><input type="text" name="email" value="'.$email.'" title="wpisz email osoby kontaktowej" /></td>
</tr>
<tr>
<td>Kod pocztowy</td>
<td><input type="text" name="kod_p" value="'.$kod_p.'" title="wpisz kod pocztowy" /></td>
<td>Kod pocztowy</td>
<td><input type="text" name="kod_p_w" value="'.$kod_p_w.'" title="wpisz kod pocztowy" /></td>
<td>Telefon</td>
<td><input type="text" name="tel" value="'.$tel.'" title="wpisz telefon osoby kontaktowej" /></td>
</tr>
<tr>
<td>Poczta</td>
<td><input type="text" name="poczta" value="'.$poczta.'" title="wpisz pocztę" /></td>
<td>Poczta</td>
<td><input type="text" name="poczta_w" value="'.$poczta_w.'" title="wpisz pocztę" /></td>
<td>Fax</td>
<td><input type="text" name="fax" value="'.$fax.'" title="wpisz nr faxu" /></td>
</tr>
<tr>
<td>NIP</td>
<td><input type="text" name="nip" value="'.$nip.'" title="wpisz numer nip" maxlength="10"/></td>
</tr>
</table>
<br />
<p>REGULAMIN</p>
<table>
</table></form>';
?>
i wyslij.php
<?php
if ($_POST["wyslij"]==1)
{
$usluga=$_POST['usluga'];
$formatd=$_POST['formatd'];
$nazwa_f=$_POST['nazwa_f'];
$nazwa_f_w=$_POST['nazwa_f_w'];
$im_naz=$_POST['im_naz'];
$ul_nr=$_POST['ul_nr'];
$ul_nr_w=$_POST['ul_nr_w'];
$email=$_POST['email'];
$kod_p=$_POST['kod_p'];
$kod_p_w=$_POST['kod_p_w'];
$tel=$_POST['tel'];
$poczta=$_POST['poczta'];
$poczta_w=$_POST['poczta_w'];
$fax=$_POST['fax'];
$nip=$_POST['nip'];
$blad_txt='';
$blad=false;
//sprawdzamy czy jest wypełnine pole nazwaf
$blad_txt.='Podaj nazwę firmy<br/>';
$blad=true;
}
//sprawdzamy czy jest podana ulica
$blad_txt.='Podaj ulice i numer<br/>';
$blad=true;
}
//sprawdzamy czy jest prawidlowy kod pocztowy
if(!ereg ( '^[0-9]{2}-[0-9]{3}$' , $kod_p )){ $blad_txt.='Nieprawodłowy kod pocztowy</br>';
$blad=true;
}
//sprawdzamy czy jest podana poczta
$blad_txt.='Podaj pocztę<br/>';
$blad=true;
}
//sprawdzamy czy jest podany nip
$blad_txt.='Nieprawidłowy NIP<br/>';
$blad=true;
}
//sprawdzamy czy podana jest osoba kontaktowa
$blad_txt.='Podaj osobę do kontaktu<br/>';
$blad=true;
}
//sprawdzamy czy jest podany prawidłowy adres e-mail
if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){ $blad_txt.='Podaj prawidłowy adres e-mail<br/>';
$blad=true;
}
if(!$blad) //poprawne dane
{
// wpisanie rodzaju usługi i formatu docelowego
$usluga=$_POST['usluga'];
$formatd=$_POST['formatd'];
// dane o odbiorcy, nadawcy
$odbiorca="moj@mail.pl";
$tytul="Zlecenie";
$nadawca = $_POST['nazwa_f'];
$nadawca_mail=$_POST['email'];
// treść listu
$tresclistu = $usluga.' '.$formatd.' Firma: '.$nazwa_f.' Ulica: '.$ul_nr.' '.$kod_p.' '.$poczta.' '." NIP :".$nip;
// 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/html; charset=\"utf-8\"\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"];
{
$tresc .="--___$znacznik==\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"); $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.";
}
}
else
{
//cos jest zle – wyświetlamy stosowne komunikaty
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.";
}
}
?>
Mam możliwość zapisu w tym katalogu w którym jest skrypt.
Dziwne jest to że z małymi plikami działa prawie poprawnie dochodzi wraz z załącznikiem i można go zapisać.