diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/Partes de codigo/codigo.php b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/Partes de codigo/codigo.php
new file mode 100644
index 0000000..11764d4
--- /dev/null
+++ b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/Partes de codigo/codigo.php
@@ -0,0 +1,140 @@
+ $exito,
+ 'mensaje' => $mensaje
+ ];
+
+ return $resultado;
+}
+
+// Función para guardar la ficha de reserva en un archivo
+function guardarFichaReserva($fichaReserva, $nombre_archivo)
+{
+ return file_put_contents($nombre_archivo, $fichaReserva) !== false;
+}
+
+// Función para añadir al listado_reservas.txt una línea de reserva
+function guardaListaDatos($registroReserva, $nombre_archivo)
+{
+ return file_put_contents($nombre_archivo, $registroReserva, FILE_APPEND | LOCK_EX) !== false;
+}
+
+
+
+
+
+
+
+
+
+
+// Función para mostrar el resultado al usuario
+function mostrarResultado($resultado)
+{
+ if ($resultado['exito']) {
+ echo "
{$resultado['mensaje']}
";
+ } else {
+ echo "
No se ha podido realizar la reserva correctamente.
";
+ }
+}
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deLucas.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deLucas.jpg
new file mode 100644
index 0000000..ba2fe40
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deLucas.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deMaria.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deMaria.jpg
new file mode 100644
index 0000000..ba2fe40
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deMaria.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deMario.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deMario.jpg
new file mode 100644
index 0000000..2b43d0a
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_deMario.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco.jpg
new file mode 100644
index 0000000..aa049e4
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco.pdf b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco.pdf
new file mode 100644
index 0000000..fc513d1
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco.pdf differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_gif.gif b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_gif.gif
new file mode 100644
index 0000000..0054c4b
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_gif.gif differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_grande.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_grande.jpg
new file mode 100644
index 0000000..0c1c9d3
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_grande.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_grande.pdf b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_grande.pdf
new file mode 100644
index 0000000..86d5847
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_grande.pdf differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_pequeno.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_pequeno.jpg
new file mode 100644
index 0000000..a3a35cf
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_pequeno.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_png.png b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_png.png
new file mode 100644
index 0000000..d2e06cb
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaco_png.png differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaolo.jpg b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaolo.jpg
new file mode 100644
index 0000000..ba2fe40
Binary files /dev/null and b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/archivos_prueba/dni_dePaolo.jpg differ
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/buscador_reservas_delete.php b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/buscador_reservas_delete.php
new file mode 100644
index 0000000..468a558
--- /dev/null
+++ b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/buscador_reservas_delete.php
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+ Buscador de reservas
+
+
+
+
+
+
+ ';
+ echo '
';
+ echo "
Id Reserva
Nombre
Correo
Teléfono
Entrada
Salida
Fecha reserva
Duración
";
+
+ //Busco la coincidencia
+ $id_encontrado = null;
+ while (($linea = fgets($archivo)) != false) {
+ if (strpos(eliminar_tildes(strtolower($linea)), eliminar_tildes(strtolower($busqueda))) !== false) {
+
+ // Mostrar la tabla con array
+ $arrayLinea = explode('/_/', $linea);
+ //foreach ($arrayLinea as $dato) {
+ // echo "
$dato
";
+ //}
+ echo "
$arrayLinea[0]
$arrayLinea[1]
$arrayLinea[2]
$arrayLinea[3]
$arrayLinea[4]
$arrayLinea[5]
$arrayLinea[6]
$arrayLinea[7]
";
+
+ //Guardar el ID de reserva encontrado
+ //file_put_contents("dato_temporal.txt",$arrayLinea[0]);
+ $id_encontrado = $arrayLinea[0];
+ }
+ }
+ // Cierrro la tabla
+ echo "
";
+ //cerrar el archivo
+ fclose($archivo);
+
+ // Vacio los datos de POST
+ unset($_POST);
+ }
+ ?>
+
+
+
+
La ficha de reserva se ha borrado
";
+ } else {
+ echo "
La ficha de reserva no se ha encontrado
";
+ }
+ }
+
+ // Borrar DNI
+ $directorio = "dni_clientes";
+ // Obtener la lista de elemntos del directorio
+ $dni_clientes = scandir("dni_clientes");
+
+ // Iterar sobre la lista de archivos
+ foreach ($dni_clientes as $archivo_dni) {
+ // Verificar si es archivo o directorio
+
+ if (is_file('dni_clientes/' . $archivo_dni)) {
+ // Verificar si el nombre del archivo contiene la cadena determinada
+ if (strpos($archivo_dni, $borrado) !== false) {
+ // Borrar el archivo
+ unlink('dni_clientes/' . $archivo_dni);
+ echo "
Archivo borrado: $archivo_dni
";
+ }
+ }
+ }
+
+ // Vacio los datos de POST
+ unset($_POST);
+ }
+ ?>
+
+
+
+
\ No newline at end of file
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/busqueda_registro.php b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/busqueda_registro.php
new file mode 100644
index 0000000..58237b3
--- /dev/null
+++ b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/busqueda_registro.php
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+ Busqueda de registros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/listado_reservas.txt b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/listado_reservas.txt
new file mode 100644
index 0000000..e69de29
diff --git a/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/recibe_formulario_hotel.php b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/recibe_formulario_hotel.php
new file mode 100644
index 0000000..7a8083e
--- /dev/null
+++ b/Practicas/Practicas_PHP/ejercicios/envio_repaso_examen/recibe_formulario_hotel.php
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+ Reservas hotel
+
+
+
+
+
+ ";
+ echo nl2br($fichaReserva);
+ echo " ";
+ // Subir el DNI del cliente si cumple con con las siguientes características , tipo de archivo (jpg y pdf) y tamaño máximo 2mb.
+ if (isset($_FILES['dnifile']) && $_FILES['dnifile']['error'] === UPLOAD_ERR_OK) {
+ $nombreArchivo = implode("_", [$dni, $idReserva, $_FILES['dnifile']['name']]);
+ if (subirArchivo($_FILES['dnifile'], 2, ['image/jpeg', 'image/jpg', 'application/pdf'], 'dni_clientes/', $nombreArchivo)) {
+ echo "
Su DNI ha sido recibido
";
+ }
+ } else {
+ echo "
No se ha enviado documento identificado con la reserva
";
+ }
+ } else {
+ echo "
No se ha podido realizar la reserva correctamente!!!
";
+ echo nl2br($datosReserva);
+ // Recibir DNI cliente
+ // Directorio donde se guardarán los archivos subidos
+ $directorio_subida = "dni_clientes/";
+ // Nombre del archivo y ruta de destino
+ $nombre_archivo = $_FILES["dnifile"]["name"];
+ $nombre_archivo_final = $dni . '_' . $id_reserva . '_' . $nombre_archivo;
+ $ruta_archivo = $directorio_subida . $nombre_archivo_final;
+ // Tamaño máximo permitido (2MB)
+ $tamano_maximo = 2 * 1024 * 1024;
+ // Obtiene la extensión del archivo en minúsculas
+ $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) {
+ // Intenta mover el archivo al directorio de destino
+ if (move_uploaded_file($_FILES["dnifile"]["tmp_name"], $ruta_archivo)) {
+ echo "Su DNI ha sido recibido.";
+ } else {
+ echo "Lo siento, hubo un error al subir su DNI.";
+ }
+ } else {
+ echo "Lo siento, solo se permiten archivos en formato JPG o PDF con un tamaño máximo de 2MB.";
+ }
+ } else {
+ // Si no se recibieron datos por POST, mostrar un mensaje de error
+ echo "Error: No se recibieron datos del formulario.";
+ }
+ ?>
+