Esto me sirvió muy bien para redirigir la pagina pero sigue subiendo el archivo al servidor y lo sigue enviando al correo aunque salga el mensaje de archivo no enviado, pero igual lo envia.
Se necesita que no suba el archivo si pesa mas de 5000000 KB. LO QUE TENGO EN LA PARTE FINAL ES ESTO:
Código PHP:
Ver originalif (filesize($_FILES['curriculo']['tmp_name']) < 5000000) {
print '<script language="JavaScript">';
print 'alert("El Archivo ha sido enviado satisfactoriamente.");';
print 'location.href=("trabajos.html");';
print '</script>';
}
else
{
function redirect($url) {
'Location: %s',
$url
));
};
if (filesize($_FILES['curriculo']['tmp_name']) > 5000000) { print '<script language="JavaScript">';
print 'alert("El Archivo Supera el Tamaño de 5 MB. \nIntente con Otro....");';
print 'location.href=("trabajos.html");';
print '</script>';
}
}
Cita:
Iniciado por hhs
normalmente si algo no se cumple lo adecuado es que regreses al la pagina del formulario e informes de los errores, tu no lo estas haciendo. Solo imprimes un aviso y el script se sigue ejecutando hasta terminar y eso incluye que se suba el archivo.
Para evitar esto necesitas obligar a que el script termine en el momento que no se cumple la condición, y como te comente lo mas usual es redirigir la petición de regreso al formulario eso lo haces mediante el uso de la función
header
de forma general debes de hacer algo como esto.
Código php:
Ver originalfunction redirect($url) {
'location: %s',
$url
));
};
if (filesize($_files['curriculo']['tmp_name']) > 5000000) { redirect('form.php');
}