multipart/form-data 及 多附件邮件发送
2009-11-04 09:51
337 查看
multipart/form-data 提交数据 form 里面元素 id无法辨认 必须有name才可以
版本号:<input type='text' id='version'> 提交后无法得到 $_POST['version']
版本号:<input type='text' name='version' >才正确
多附件 Multiple Attachments
版本号:<input type='text' id='version'> 提交后无法得到 $_POST['version']
版本号:<input type='text' name='version' >才正确
多附件 Multiple Attachments
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>E-mail with Attachment</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php if ($_SERVER['REQUEST_METHOD']=="POST"){ // we'll begin by assigning the To address and message subject $to="somebody@example.com"; $subject="E-mail with attachment"; // get the sender's name and email address // we'll just plug them a variable to be used later $from = stripslashes($_POST['fromname'])."<".stripslashes($_POST['fromemail']).">"; // generate a random string to be used as the boundary marker $mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x"; // now we'll build the message headers $headers = "From: $from/r/n" . "MIME-Version: 1.0/r/n" . "Content-Type: multipart/mixed;/r/n" . " boundary=/"{$mime_boundary}/""; // here, we'll start the message body. // this is the text that will be displayed // in the e-mail $message="This is an example"; // next, we'll build the invisible portion of the message body // note that we insert two dashes in front of the MIME boundary // when we use it $message = "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"; // now we'll process our uploaded files foreach($_FILES as $userfile){ // store the file information to variables for easier access $tmp_name = $userfile['tmp_name']; $type = $userfile['type']; $name = $userfile['name']; $size = $userfile['size']; // if the upload succeded, the file will exist if (file_exists($tmp_name)){ // check to make sure that it is an uploaded file and not a system file if(is_uploaded_file($tmp_name)){ // open the file for a binary read $file = fopen($tmp_name,'rb'); // read the file content into a variable $data = fread($file,filesize($tmp_name)); // close the file fclose($file); // now we encode it and split it into acceptable length lines $data = chunk_split(base64_encode($data)); } // now we'll insert a boundary to indicate we're starting the attachment // we have to specify the content type, file name, and disposition as // an attachment, then add the file content. // NOTE: we don't set another boundary to indicate that the end of the // file has been reached here. we only want one boundary between each file // we'll add the final one after the loop finishes. $message .= "--{$mime_boundary}/n" . "Content-Type: {$type};/n" . " name=/"{$name}/"/n" . "Content-Disposition: attachment;/n" . " filename=/"{$fileatt_name}/"/n" . "Content-Transfer-Encoding: base64/n/n" . $data . "/n/n"; } } // here's our closing mime boundary that indicates the last of the message $message.="--{$mime_boundary}--/n"; // now we just send the message if (@mail($to, $subject, $message, $headers)) echo "Message Sent"; else echo "Failed to send"; } else { ?> <p>Send an e-mail with an attachment:</p> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data" name="form1"> <p>From name: <input type="text" name="fromname"></p> <p>From e-mail: <input type="text" name="fromemail"></p> <p>File: <input type="file" name="file1"></p> <p>File: <input type="file" name="file2"></p> <p><input type="submit" name="Submit" value="Submit"></p> </form> <?php } ?> </body> </html>
相关文章推荐
- c# 模拟post发送 multipart/form-data,json格式数据
- Python 发送 multipart/form-data 数据
- 发送两个独立的两个XML Part,基于Content-Type="multipart/form-data"形式的表单
- 实现使用HTTP协议发送multipart/form-data类型的HTTP表单
- flask获取表单以enctype="multipart/form-data"格式发送的数据
- Python3下requests库发送multipart/form-data类型请求
- requests库发送multipart/form-data格式请求
- Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form me
- 使用python的requests 发送multipart/form-data 请求
- 请问如何用nodejs通过post发送multipart/form-data类型的http请求?
- 使用RestTemplate发送multipart/form-data格式的数据
- httpclient发送multipart/form-data类型参数和用MultipartRequest接收参数
- 使用python的requests 发送multipart/form-data 请求
- C#模拟提交表单 post-带附件的表单[multipart/form-data]
- 实现使用HTTP协议发送multipart/form-data类型的HTTP表单
- 利用HttpClient发送基于Content-Type="multipart/form-data"形式的表单
- python 发送上传文件multipart/form-data
- Java HttpClient 发送multipart/form-data带有Json文件的Post请求
- angular发送multipart/form-data文件的方法
- 实现使用HTTP协议发送multipart/form-data类型的HTTP表单