webForumDet fria alternativet

Bifoga bild i mail formuläret

2 svar · 577 visningar · startad av Mulle71

Mulle71Medlem sedan maj 20074 inlägg
#1

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
#2

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
#3

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

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)