Mulle71Medlem sedan maj 20074 inlägg Jag undrar om detär någon som vet hur jag skall fixa upload filen i PHP så biden går med i mailet. Har bara lyckats få den ta bara själva data texten var bilden heter och var den finns. Jag är webmaster för en hemsida som de skulle vara guld värt att få i gång den funktionen.
Nån sakm hjälpa snart despirat..
Mvh Pg webaster https://www.trapalanda.se
:stud
PeddaMedlem sedan juni 20006 032 inlägg Bifogar en kod jag hade för att skicka ut mail till medlemmar i en förening.
I mailet kunde man bifoga en fil.
Läs koden så kanske du förstår hur det funkar. Ganska svårt att förklara.
<?php
session_start();
// Kolla safe mode
if (!ini_get('safe_mode') ){
// fixa så det inte blir timeout
ini_set("max_execution_time","9999");
ignore_user_abort(true);
set_time_limit(9999);
}
include('connect.php');
if (isset($_POST['utskick'])) {
// Tag bort eventuella blanksteg i början eller slutet
foreach($_POST as $key => $val){
$_POST[$key] = trim($val);
}
//Kolla efter tomma fält
if (empty($_POST['amne'])) {
$reg_error[] = 0;
}
//Kolla efter tomma fält
if (empty($_POST['meddelande'])) {
$reg_error[] = 1;
}
// errorlista
$error_list[0] = "Du glömde fylla i ett ämne.";
$error_list[1] = "Du glömde fylla i meddelandet.";
if (isset($reg_error)){
// Någon uppgift är fel, skriv ut felmeddelande...
echo "Något blev fel:<br>\n";
echo "<ul>\n";
for ($i=0; $i<sizeof($reg_error); $i++) {
echo "<li>{$error_list[$reg_error[$i]]}</li>\n";
}
echo "</ul>\n";
echo "<br><a href=\"javascript:history.back()\">Tillbaka</a>\n";
exit;
}
if ($_POST['vilka'] == 'betalat') {
$where = " WHERE BETALT >= '".date("Y-m-d")."'";
if ($_POST['status'] != 'Alla') {
$and = " AND status = '".$_POST['status']."'";
} else {
$and = "";
}
}
if ($_POST['vilka'] == 'ejbetalat') {
$where = " WHERE BETALT < '".date("Y-m-d")."'";
if ($_POST['status'] != 'Alla') {
$and = " AND status = '".$_POST['status']."'";
} else {
$and = "";
}
}
if ($_POST['vilka'] == 'Alla') {
$where = "";
if ($_POST['status'] != 'Alla') {
$and = " WHERE status = '".$_POST['status']."'";
} else {
$and = "";
}
}
$from = "".$inst['epost']."";
$subject = $_POST['amne'];
$message = $_POST['meddelande'];
$fileatt = $_FILES['attachment']['tmp_name'];
$fileatt_type = $_FILES['attachment']['type'];
$fileatt_name = $_FILES['attachment']['name'];
$headers = "From: $from";
if (is_uploaded_file($fileatt)) {
// Läs in filen som ska bifogas ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
// Generera en boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Lägg till headers för filen som bifogas
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the plain message
$message2 = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
// Base64 encode the file data
$data = chunk_split(base64_encode($data));
// Add file attachment to the message
$message2 .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}
$getadress = mysql_query("SELECT epost FROM ".$mysql_prefix."medlemmar".$where . $and."") or die(mysql_error());
while ($rad = mysql_fetch_array($getadress)) {
$to = $rad['epost'];
// Send the message
mail($to, $subject, "$message $message2", $headers);
}
header("Location: kontrollpanel.php?info=mailutskick");
exit;
}
?>
PeddaMedlem sedan juni 20006 032 inlägg Du kan även kolla på denna class som funkar med bl.a
- HTML Email
- HTML Email with embedded images
- HTML Email with attachments
- HTML Email with embedded images and attachments
- Text email
- Text email with attachments
http://www.phpguru.org/static/mime.mail.html