Enviar anexo phpmailer com tamanho validado
Boa tarde pessoal, estou fazendo a validação do tamanho do arquivo anexo no email, para depois ser enviado,
acontece que não está pegando o tamanho do arquivo, o que posso estar fazendo de errado? Já fiz testes e vi que
não bloqueia o envio por vem em branco o size. Segue meu código:
<?php
if(strpos($_SERVER['HTTP_REFERER'],'xxx.com.br')) {
session_start();
// chamada da classe phpmailer
require_once('mailer/class.phpmailer.php');
require_once('mailer/class.smtp.php');
// resgatando os dados passados pelo form
$assunto = "Conta PF";
$nome=$_POST["nome"];
$telefone=$_POST["telefone"];
$email=$_POST["email"];
$cpf=$_POST["cpf"];
$arquivo = $_FILES["arquivo"];$data = date("d/m/y"); //hidden
$hora = date("H:i"); //hidden
$ip = $_SERVER['REMOTE_ADDR']; //hidden
$navegador = $_SERVER['HTTP_USER_AGENT']; //hidden
$tamanho = 3000000;
// faço a chamada da classe
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Port = 587;
$mail->Host = "mail.site.com.br";
$mail->Username = "criacao@site.com.br";
$mail->Password = "zzz321";$mail->IsMail(); // ativa o envio de e-mails em HTML, se false, desativa.
$mail->Mailer = "smtp";
// na classe, há a opçao de idioma, setei como br
$mail->SetLanguage("br");
// esta chamada diz que o envio será feito através da funçao mail do php. Voce mudar para sendmail, qmail, etc
// se quiser utilizar o programa de email do seu unix/linux para enviar o email
//$Email->IsMail(); // ativa o envio de e-mails em HTML, se false, desativa.
$mail->IsHTML(true);
// email do remetente da mensagem
$mail->From = "meusite.com.br";
// nome do remetente do email
$mail->FromName = $nome;
// Endereço de destino do emaail, ou seja, pra onde voce quer que a mensagem do formulário vá?
$mail->AddAddress("meusite.com.br","Conta PF");
// informando no email, o assunto da mensagem
$mail->Subject = $assunto;
// Define o texto da mensagem (aceita HTML)
$mail->Body .= "
<font face='Arial, Helvetica, sans-serif' size='2'>
<b>Nome:</b> $nome<br /><br />
<b>Telefone:</b> $telefone<br /><br />
<b>E-mail:</b> $email<br /><br />
<b>CPF:</b> $cpf<br /><br />
<b>Data:</b> $data <br /><br />
<b>Hora:</b> $hora <br /><br />
<b>Ip:</b> $ip<br /><br />
<b>Navegador:</b> $navegador
</font>";
// Verifica tamanho do arquivo
if($arquivo["size"] > $tamanho)
{
echo "<script language='JavaScript'>
alert('Todos os documentos devem ter o tamanho máximo 3MB total.');
window.location.href='javascript:history.go(-1)'
</script>";
exit;
}//verifica se todos os campos estão preenchidos, se não estiverem, não envia o email
$arquivo = $_FILES['arquivo'];
for ($i=0; $i < sizeof($arquivo); $i++)
{
if (is_uploaded_file($arquivo['tmp_name'][$i]))
{
// Adiciona um anexo de um caminho sobre o sistema de ficheiros
$mail->AddAttachment($arquivo['tmp_name'][$i], $arquivo['name'][$i]);
}
}
if(!$mail->Send()) {
echo "<h2>A mensagem nao foi enviada. </h2><p><br>";
echo "Erro: " . $mail->ErrorInfo;
}else{
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=../obrigado-contas.php'>
";
}
}
?>Discussão (1)
Carregando comentários...