<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $directorio_destino = isset($_POST['carpeta']) ? $_POST['carpeta'] : './archivos/';
    $archivo_subido = $directorio_destino . basename($_FILES['archivo']['name']);

    // Validar y configurar que archivos pueden subir    
    $arregloArchivo = explode(".", $_FILES['archivo']['name']);
    $extension=strtolower(end($arregloArchivo));

    // Establecer los archivos permitidos
    $permitidos=array('mdb', 'rar', 'zip');
    
    //Verificamos si el archivo esta en la lista de los permitidos
    if (!in_array($extension,$permitidos)){
        echo 'El archivo no esta permitido';
        exit();
    }
    // Verificar si el archivo ya existe en el directorio de destino
    if (file_exists($archivo_subido)) {
        // Si existe, eliminar el archivo existente
        unlink($archivo_subido);
    }

    // Mover el nuevo archivo subido al directorio de destino
    if (move_uploaded_file($_FILES['archivo']['tmp_name'], $archivo_subido)) {
        // Establecer la fecha de modificación del archivo subido al tiempo actual
        if (!touch($archivo_subido)) {
            echo 'Error al establecer la fecha de modificación del archivo.';
        }

        // Redirigir al usuario de vuelta al directorio
        header('Location: index.php?carpeta=' . urlencode($directorio_destino));
    } else {
        echo 'Error al subir el archivo.';
    }
} else {
    header('Location: index.php');
}
?>
