-1
Hello! I set up a form in PHP, is sending to my email all right... The question is that I can’t configure the input for multiple files, just sending 1 file. Can anyone show me a light? Follows the way it is in the HTML and PHP file:
<input id="arquivo" name="arquivo" class="input-file" type="file">
/* Função que codifica o anexo para poder ser enviado na mensagem */
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); // Abri o arquivo enviado.
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); // Le o arquivo aberto na linha anterior
$anexo = base64_encode($anexo); // Codifica os dados com MIME para o e-mail
fclose($fp); // Fecha o arquivo aberto anteriormente
$anexo = chunk_split($anexo); // Divide a variável do arquivo em pequenos pedaços para poder enviar
$mensagem = "--$boundary\n"; // Nas linhas abaixo possuem os parâmetros de formatação e codificação, juntamente com a inclusão do arquivo anexado no corpo da mensagem
$mensagem.= "Content-Transfer-Encoding: 8bits\n";
$mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";
$mensagem.= "$corpo_mensagem\n";
$mensagem.= "--$boundary\n";
$mensagem.= "Content-Type: ".$arquivo["type"]."\n";
$mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";
$mensagem.= "Content-Transfer-Encoding: base64\n\n";
$mensagem.= "$anexo\n";
$mensagem.= "--$boundary--\r\n";
}
else // Caso não tenha anexo
{
$mensagem = "--$boundary\n";
$mensagem.= "Content-Transfer-Encoding: 8bits\n";
$mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";
$mensagem.= "$corpo_mensagem\n";
}
/* Função que envia a mensagem */
if(mail($to, $assunto, $mensagem, $headers))
{
header("Location: /briefing/registration_send.php");
}
else
{
echo "<br><br><center><b><font color='red'>Ocorreu um erro ao enviar a mensagem!";
}
?>
Pts then... In this case the problem is that only one input would need to appear to add multiple files :/
– Bira
Take a look at this link, it has tips on how to do this on
html5
, with a single input on the same idea ofinput
asarray
and the attributemultiple
in theinput
https://www.dicas-l.com.br/arquivo/html5_upload_de_varios_arquivos_com_apenas_um_input.php– Franck Costa
Dude I tried to do this, I copied this code... but while sending, page error...
– Bira
Tell me better what error it presents, if possible hosts a print with the images to see what is happening as well as the code you made.
– Franck Costa