2009-02-19 4 views
0

Я пишу mailform i php для размещения заказов и чувствую, что им нужно отправить мне картинку, чтобы заказ работал правильно, я хотел бы иметь возможность прикреплять файл в formmail , Как я это делаю? Я видел несколько разных постановлений, но не полностью понял.Прикрепить файл в formmail. (php formmail)

ответ

2

Вы должны установить правильные почтовые-заголовки, а затем прикрепить файл, кодируя его в любой форме вы заявили в заголовке, как в этом фрагменте кода:

Все, что вам нужно сделать здесь, считывают файл и кодировать его (в base64 в данном случае)

$file = fopen($fileatt,'rb'); 
$data = fread($file,filesize($fileatt)); 
fclose($file); 

$data = chunk_split(base64_encode($data)); 

сначала нужно границу, как правило, чтобы сказать, где одна часть останавливается, и начинается другой

$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}\""; 

затем создать свое сообщение

$email_message .= "This is a multi-part message in MIME format.\n\n" . 
"--{$mime_boundary}\n" . // start text block 
"Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
"Content-Transfer-Encoding: 7bit\n\n" . 
$email_content . "\n\n" . 
"--{$mime_boundary}\n" . // start attachement 
"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" . // this is the file... 
"--{$mime_boundary}\n"; 

, а затем ... послал сообщение, используя почту ;-)

mail($email_to, $email_subject, $email_message, $headers) 
0

Я хотел бы также предложить php_mailer http://sourceforge.net/project/showfiles.php?group_id=26031

Имеет все варианты, которые вам когда-либо понадобились, и позволяет вам создавать формы на заказ длину без «TOO» много болей

Есть также куча учебников и с удовольствием отправить вдоль пример проекта я сделал в последнее время, если вы хотите

0

$ сл = "выбрать макс (ID) AS maxid from photos "; $ res = mysql_query ($ sl); $ rowl = @ mysql_fetch_array ($ res);

$ adid = $ rowl ['maxid']; $ filedir = "/ photo_gallery /"; $ file1 = $ filedir. "Img". $ Adid. $ _ FILES ['myfile'] ['name'];

// echo $ file1; @move_uploaded_file ($ _ FILES ['myfile'] ['tmp_name'], $ file1);

$ upd = "update photos set photo = '". $ File1. "', Added_date = now() где id = $ adid";

// echo $ upd; mysql_query ($ upd);

@unlink ($ file1);

 Смежные вопросы

  • Нет связанных вопросов^_^