Sziasztok!
Azt szeretném, ha az oldalamon lenne egy kapcsolatfelvételi űrlap, melyen keresztül mellékletet (pontosabban képet) küldhetnek.
Találtam is egy scriptet, de a kép helyett csak értelmetlen karakterek jönnek át. Hol lehet a hiba?
Kód:
<?php
if(isset($_POST) && !empty($_POST) ) {
if(!empty($_FILES['attachment']['name'])) {
// store some variables
$file_name = $_FILES['attachment']['name'];
$temp_name = $_FILES['attachment']['tmp_name'];
$file_type = $_FILES['attachment']['type'];
// get the extension of the file
$base = basename($file_name);
$extension = substr($base, strlen($base)-4, strlen($base));
// mail essenstials
$from = $_POST['email'];
$to = "cimzett@domain.com";
$subject = "level targya";
$message = "level resze";
// things you need
$file = $temp_name;
$content = chunk_split(base64_encode(file_get_contents($file)));
$uid = md5(uniqid(time()));
//standard mail headers
$header = "from: ".$from."\r\n";
$header = "Reply-To: ".$replyto."\r\n";
$header = "MIME-Version: 1.0\r\n";
$header .= "(Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format. \r\n";
// plain tex part
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
//file attachment
$header .= "--".$uid."\r\n";
$header .= "Content-type: ".$file_type."; name=\"".$file_name."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$file_name."\"\r\n";
$header .= $content."\r\n\r\n";
if (mail($to, $subject, "", $header)) {
echo "success";
} else {
echo "fail";
}
exit();
}
}
?>
<html>
<body>
<form method="post" action="attach.php" enctype="multipart/form-data">
<input type="text" name="email" value="from"/>
<br>
<input type="file" name="attachment"/>
<br>
<input type="submit" value="Send mail"/>
</form>
</body>
</html>
Könyvjelzők