PHP
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Subir Archivo de DNI</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Subir Archivo de DNI</h2>
|
||||
<form action="" method="post" enctype="multipart/form-data">
|
||||
<label for="name">* Nombre:</label><br>
|
||||
<input type="text" id="nombre" name="nombre" required><br><br>
|
||||
|
||||
<label for="email">* Correo Electrónico:</label><br>
|
||||
<input type="email" id="email" name="email" required><br><br>
|
||||
|
||||
<label for="dniFile">* Subir DNI (jpg o pdf, tamaño máximo 5MB):</label><br>
|
||||
<input type="file" id="dniFile" name="dniFile" accept=".jpg,.pdf" required><br><br>
|
||||
|
||||
<input type="submit" value="Enviar" name="submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
// Verifica si el formulario ha sido enviado
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["dniFile"])) {
|
||||
// Nombre y correo electrónico del usuario
|
||||
$nombre = $_POST["nombre"];
|
||||
$email = $_POST["email"];
|
||||
|
||||
// Directorio donde se guardarán los archivos subidos
|
||||
$directorio_subida = "dni_usuarios/";
|
||||
|
||||
// Nombre del archivo y ruta de destino
|
||||
$nombre_archivo=$_FILES["dniFile"]["name"];
|
||||
$nombre_archivo_final = time().'_'.rand(100,999).'_'.$email.'_'.$nombre_archivo;
|
||||
$ruta_archivo = $directorio_subida . $nombre_archivo_final;
|
||||
|
||||
// Tamaño máximo permitido (5MB)
|
||||
$tamano_maximo = 5 * 1024 * 1024;
|
||||
|
||||
// Obtiene la extensión del archivo
|
||||
$extension_archivo = strtolower(pathinfo($_FILES["dniFile"]["name"], PATHINFO_EXTENSION));
|
||||
|
||||
// Array de extensiones permitidas
|
||||
$extensiones_permitidas = array("jpg", "jpeg", "pdf");
|
||||
|
||||
// Verifica si el archivo es una extensión permitida y no excede el tamaño máximo
|
||||
if (in_array($extension_archivo, $extensiones_permitidas) && $_FILES["dniFile"]["size"] <= $tamano_maximo) {
|
||||
// Verifica si hubo algún error durante la subida del archivo
|
||||
if ($_FILES["dniFile"]["error"] === 0) {
|
||||
// Intenta mover el archivo al directorio de destino
|
||||
if (move_uploaded_file($_FILES["dniFile"]["tmp_name"], $ruta_archivo)) {
|
||||
echo "El archivo " . htmlspecialchars($nombre_archivo) . " ha sido subido exitosamente.";
|
||||
|
||||
} else {
|
||||
echo "Lo siento, hubo un error al subir el archivo.";
|
||||
}
|
||||
} else {
|
||||
echo "Error: " . $_FILES["dniFile"]["error"];
|
||||
}
|
||||
} else {
|
||||
echo "Lo siento, solo se permiten archivos en formato JPG o PDF con un tamaño máximo de 5MB.";
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user