Я пишу mailform i php для размещения заказов и чувствую, что им нужно отправить мне картинку, чтобы заказ работал правильно, я хотел бы иметь возможность прикреплять файл в formmail , Как я это делаю? Я видел несколько разных постановлений, но не полностью понял.Прикрепить файл в formmail. (php formmail)
ответ
Вы должны установить правильные почтовые-заголовки, а затем прикрепить файл, кодируя его в любой форме вы заявили в заголовке, как в этом фрагменте кода:
Все, что вам нужно сделать здесь, считывают файл и кодировать его (в 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)
Я хотел бы также предложить php_mailer http://sourceforge.net/project/showfiles.php?group_id=26031
Имеет все варианты, которые вам когда-либо понадобились, и позволяет вам создавать формы на заказ длину без «TOO» много болей
Есть также куча учебников и с удовольствием отправить вдоль пример проекта я сделал в последнее время, если вы хотите
$ сл = "выбрать макс (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);