【发布时间】:2015-08-29 07:50:32
【问题描述】:
我在使用 mail() php 发送包含多个文件的邮件时遇到问题。到目前为止,只发送第一个文件,所以我需要你的帮助。给你我的代码:
HTML:
<form action="colabora.php" method="post" enctype="multipart/form-data">
[...]
<div id="adjuntos">
<input type="file" name="archivos[]" class="form-control"/>
</div>
[...]
PHP:
[...]
if (isset ($_FILES["archivos"])) {
$tot = count($_FILES["archivos"]["name"]);
for ($i = 0; $i < $tot; $i++){
$_name=$_FILES["archivos"]["name"][$i];
$_type=$_FILES["archivos"]["type"][$i];
$_size=$_FILES["archivos"]["size"][$i];
$_temp=$_FILES["archivos"]["tmp_name"][$i];
//FILES EXISTS
if(strcmp($_name, "")){
$fp = fopen($_temp, "rb");
$file = fread($fp, $_size);
$file = chunk_split(base64_encode($file));
}
// FILES HEADERS
$headers .= "Content-Type:application/octet-stream ";
$headers .= "name=\"".$_name."\"r\n";
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; ";
$headers .= "filename=\"".$_name."\"\r\n\n";
$headers .= "".$file."\r\n";
$headers .= "--".$num."--";
}
}
[...]
邮件($para, $asunto, $body, $headers)
【问题讨论】:
-
我的代码得到了所有的内容,问题是不是所有的文件都通过电子邮件发送,只有第一个。
-
我已经完成并获取所有文件。我认为问题是 $file 必须是一个数组才能打开和读取所有文件。可以吗?