Validar extensão e limitar tamanho de anexo
Estou com dificuldades para implementar neste scritp uma validação de extensão do arquivo, no caso só imagens, e de limitar o tamanho.
Peço ajuda dos amigos.
<?php
/**
* PHPMailer multiple files upload and send example
*/
$msg = '';
if (array_key_exists('arquivo', $_FILES)) {
// Create a message
// This should be somewhere in your include_path
require 'phpmailer/PHPMailerAutoload.php';
require_once('phpmailer/class.phpmailer.php');
$mail = new PHPMailer;
// Recupera os dados do formulário
$genero = $_POST['genero'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$idade = $_POST['idade'];
$altura = $_POST['altura'];
$cidade = $_POST['cidade'];
$estado = $_POST['estado'];
$fone = $_POST['fone'];
$mensagem = $_POST['mensagem'];
$arquivo = $_FILES["arquivo"];
// Monta a mensagem que será enviada
$corpo = "
<strong>Genero:</strong> $genero<br />
<strong>Nome:</strong> $nome<br />
<strong>E-mail:</strong> $email<br />
<strong>Idade:</strong> $idade<br />
<strong>Altura:</strong> $altura<br />
<strong>Cidade:</strong> $cidade<br />
<strong>Estado:</strong> $estado<br />
<strong>Fone:</strong> $fone<br />
<strong>Mensagem:</strong><br />
$mensagem
";
$mail->Host = "mail.xxxx.com.br";
$mail->setFrom($email, $nome);
$mail->Subject = "Ser Modelo - ($nome)";
$mail->AddAddress('modelos@xxx.com.br');
$mail->msgHTML($corpo);
//Attach multiple files one by one
for ($ct = 0; $ct < count($_FILES['arquivo']['tmp_name']); $ct++)
{
$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['arquivo']['name'][$ct]));
$filename = $_FILES['arquivo']['name'][$ct];
if (move_uploaded_file($_FILES['arquivo']['tmp_name'][$ct], $uploadfile))
{
$mail->addAttachment($uploadfile, $filename);
}
else
{
$msg .= 'Failed to move file to ' . $uploadfile;
}
}
if (!$mail->send()) {
echo "
<html>
<script>alert(\"$nome, Seu e-mail não foi enviado corretamente, tende novamente mais tarde.\")</script>
<meta http-equiv=refresh content=0;URL=ser-modelo.php>
</html>
";
} else {
echo "
<html>
<script>alert(\"$nome, seus dados foram enviados com sucesso, em breve entraremos em contato\")</script>
<meta http-equiv=refresh content=0;URL=ser-modelo.php>
</html>
";
}
}
?>Discussão (2)
Carregando comentários...