Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过php表单向电子邮件发送文件附件_Php_Html_Forms - Fatal编程技术网

通过php表单向电子邮件发送文件附件

通过php表单向电子邮件发送文件附件,php,html,forms,Php,Html,Forms,我试图发送一个文件上传与html从使用php。在我提交表单后,我一直收到一个错误。我似乎能弄明白这里的问题是什么。代码中是否有我做错的地方?还是我缺少任何php库 Html: 为什么要用逗号分隔所有文件?我认为这个电话不存在 这不应该是: mail($mailto,$emailSubject,$message,$headers); 如果需要,在标题后添加其他参数?谢谢。这段代码有效。但是我无法获得地址、电子邮件详细信息和姓名。你的代码太乱了。 $mailto = 'admin@gmail.

我试图发送一个文件上传与html从使用php。在我提交表单后,我一直收到一个错误。我似乎能弄明白这里的问题是什么。代码中是否有我做错的地方?还是我缺少任何php库

Html:


为什么要用逗号分隔所有文件?我认为这个电话不存在

这不应该是:

mail($mailto,$emailSubject,$message,$headers); 

如果需要,在标题后添加其他参数?

谢谢。这段代码有效。但是我无法获得地址、电子邮件详细信息和姓名。你的代码太乱了。
$mailto = 'admin@gmail.com';
$emailSubject = 'Customer Has a inquiry';
$fromEmail = $_POST['email']; 
$fromName = $_POST['name']; 
$message = $_POST['frame'];
$address_1 = $_POST['address_1'];
$address_2 = $_POST['address_2'];
$area_code = $_POST['area_code'];
$city = $_POST['city'];
$country = $_POST['country'];

/* GET File Variables */ 
$tmpName = $_FILES['attachment']['tmp_name']; 
$fileType = $_FILES['attachment']['type']; 
$fileName = $_FILES['attachment']['name']; 

/* Start of headers */ 
$headers = "From: $fromName"; 

    if (file($tmpName)) { 
      /* Reading file ('rb' = read binary)  */
      $file = fopen($tmpName,'rb'); 
      $data = fread($file,filesize($tmpName)); 
      fclose($file); 

/* a boundary string */
$randomVal = md5(time()); 
$mimeBoundary = "==Multipart_Boundary_x{$randomVal}x"; 

/* Header for File Attachment */
$headers .= "\nMIME-Version: 1.0\n"; 
$headers .= "Content-Type: multipart/mixed;\n" ;
$headers .= " boundary=\"{$mimeBoundary}\""; 

/* Encoding file data */
$data = chunk_split(base64_encode($data)); 

  /* Adding attchment-file to message*/
  $message .= "--{$mimeBoundary}\n" . 
  "Content-Type: {$fileType};\n" . 
  " name=\"{$fileName}\"\n" . 
  "Content-Transfer-Encoding: base64\n\n" . 
  $data . "\n\n" . 
  "--{$mimeBoundary}--\n"; 
  } 

    $flgchk=mail("$mailto","$emailSubject","$address_1","$address_2","$area_code","$city","$country","$message","$headers"); 

if($flgchk){
  echo "A email has been sent";
 }
 else{
 echo "Error in Email sending";
}
?>
mail($mailto,$emailSubject,$message,$headers);