Cau
Rozhodl jsem se sem dát PHP kód který jsem používál asi 1rok na svoji stránce.
Co to umí: Jak už z názvu vyplývá umí to posílat soubory z webu na email typy souboru je jich hodně alespon pár jich vypíšu :TXT, HTM, HTML, GIF, JPG, JPEG, PNG, ICO, DOC, XLS, RTF, DOC, ZIP a to je asi vše.
Můžete upravit velikost souboru, kterou chcete poslat tady :
$max_att = 500000;
!! Hlavně si nezapomeńte změnit hned druhý řadek kam chcete posílat soubory (email) vyplnit svuj email.
$to = 'tady napis email';
3. řádek tam můžete upravit kodování češtiny na webu je nasatveno na windows-1250
$charset = 'windows-1250';
Tedy je celý kód
<?
$max_att = 500000;
$to = 'tady napis email';
$charset = 'windows-1250';
if(!isset($_POST['submitter'])) exit('Error 1');
$subject = 'Priloha z webu';
$from = $_POST['Odesilatel'];
$message .= 'Odesláno ze stránky: ' . $_SERVER['HTTP_REFERER'] . "\r\n";
while (list($name, $value) = each($_POST)) {
if ($name == 'MAX_FILE_SIZE' || $name == 'charset' || $name == 'submitter') {
}
elseif (gettype($value) == 'array') {
$cnt = count($value);
for ($i=0; $i < $cnt; $i++) {
$message .= "$name: $value[$i]r\\n";
}
}
else {
$message .= "$name: $value\r\n";
}
}
$valid = 1;
$file_size = $_FILES['fileatt']['size'];
$file_name = $_FILES['fileatt']['name'];
$file_type = $_FILES['fileatt']['type'];
if ($file_size > 0) $att_present = true;
$message .= "VELIKOST PŘÍLOHY: $file_size bytes\r\n\n";
if($att_present) {
if($file_size > $max_att) {
$valid = 0;
$err_msg .= "
Příloha je větší nežli povolených $max_att bajtů";
}
if (
$file_type != 'text/plain' // TXT
&& $file_type != 'text/html' // HTM
&& $file_type != 'text/html' // HTML
&& $file_type != 'image/gif' // GIF
&& $file_type != 'image/jpeg' // JPG JPEG
&& $file_type != 'image/pjpeg' // JPG JPEG
&& $file_type != 'image/png' // PNG
&& $file_type != 'image/x-icon' // ICO
&& $file_type != 'application/msword' // DOC
&& $file_type != 'application/excel' // XLS
&& $file_type != 'application/rtf' // RTF
&& $file_type != 'application/octet-stream' // DOC
&& $file_type != 'application/x-zip-compressed' // ZIP
&& $file_type != 'application/pdf'
) { // PDF
$valid = 0;
$err_msg .= "
Skript nepodporuje tento typ souboru $file_type";
}
$dots = substr_count($file_name,'.');
if($dots != 1) {
$valid = 0;
$err_msg .= "
Příloha má nepovolený počet extenzí $dots";
}
$extension = strtolower(strstr($file_name,'.'));
if (
$extension != ".txt"
&& $extension != ".htm"
&& $extension != ".html"
&& $extension != ".gif"
&& $extension != ".jpg"
&& $extension != ".jpeg"
&& $extension != ".png"
&& $extension != ".ico"
&& $extension != ".doc"
&& $extension != ".xls"
&& $extension != ".rtf"
&& $extension != ".zip"
&& $extension != ".pdf"
) {
$valid = 0;
$err_msg .= "
Skript nepodporuje extenzi $extension";
}
$p = strlen($extension);
if($p != 4 && $p != 5) {
$valid = 0;
$err_msg .= "
Příloha má neplatnou délku extenze $p";
}
if($valid == 1){
$fileatt = $_FILES['fileatt']['tmp_name'];
$headers = "From: $from";
if(is_uploaded_file($fileatt)) {
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=$charset\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
$data = chunk_split(base64_encode($data));
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$file_type};\n" .
" name=\"{$file_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}
$message = StripSlashes($message);
$sent = @mail($to, $subject, $message, $headers);
if($sent) echo "
Soubor byl úspěšně odeslán.Děkujeme
";
else echo "
Soubor se nezdařilo odeslat.
";
header("Refresh: 5; url=form.php");
}
if($valid!==1) {
echo "
Chyba...
$err_msg";
echo "
Klikněte na Zpět a zkuste znovu";
}
}
else {
$message = StripSlashes($message);
$sent = @mail($to, $subject, $message, $headers);
if($sent) echo "
Soubor byl úspěšně odeslán.Děkujeme
";
else echo "
Soubor se nezdařilo odeslat.
";
header("Refresh: 5; url=form.php");
}
?>
+ Pokud chcete tak můžete využít tento kod HTMl nebo si napište svuj vlasní aby to vyhovovalo pro vaši stránku.
<table style="background-color: gainsboro; color: black; font-family: Arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;" border="0">
<tbody>
<tr>
<td colspan="2" align="center">
<br><b>Odeslání přílohy</b></td>
</tr>
<tr><td>Jméno:</td><td>
<input name="Jmeno" style="width: 150px;" type="text"></td>
</tr>
<tr><td>Email:</td><td>
<input name="Odesilatel" style="width: 150px;" type="text"></td>
</tr>
<tr><td>Text:</td><td>
<textarea name="Text" cols="20" rows="2" style="width: 150px;"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center">
<br>
<br>
<p style="text-align: justify;">Max.velikost přílohy 50000 bajtů.
</p>
<br></td>
</tr>
<tr>
<td colspan="2" align="left">
<input name="MAX_FILE_SIZE" value="50000" type="hidden">
<input name="fileatt" size="10" type="file">
<br></td>
</tr>
<tr>
<td colspan="2" align="center">
<input name="submitter" xtype="submit" value="Odeslat" type="button"></td>
</tr>
</tbody>
</table>
To je vše stačí to uložit do souboru a hodit na web ! ( je to jednoduchý)
P.S. : V roce 2010 nech zlo a nenávist na hřebíku viset. Štěstí, láska ať Tě provází a nic důležitého ať Ti neschází. S penězi ať vyjdeš a dobře si žiješ. Přeje Newster (Petr)
Edit: Scháním kód abych mohl vložit na svoje stránky ICQ-klient něco jako meebo kdo by měl napište PM nebo mě kontaktujte tady do topiku byl bych vám vděčný.