Resumen del proyecto

Este repositorio contiene una pequeña aplicación PHP con assets estáticos y scripts auxiliares.

Resumen

Este repositorio contiene una pequeña aplicación PHP + assets estáticos y un script auxiliar para gestionar un entorno LAMP. A continuación se describe la estructura, responsabilidad de cada archivo y las funciones/clases clave.

Estructura de archivos

Archivos clave — explicación y símbolos importantes

lamp_manager.sh

Archivo: lamp_manager.sh

Propósito: instalar Apache, MariaDB (MySQL), PHP; instalar VS Code; instalar phpMyAdmin; crear/listar/eliminar Virtual Hosts.

Funciones relevantes:

Nota: requiere privilegios sudo y adaptación para distribuciones distintas a Debian/Ubuntu.

view.php

Archivo: view.php

Propósito: generar index.html con una vista del directorio actual y manejar eliminación de archivos vía AJAX.

Síntesis:

Notas de seguridad: usa basename() para sanitizar nombres y valida contra una lista de items ignorados; revisar permisos y rutas antes de usar en entornos públicos.

Archivos/registro.php

Archivo: Archivos/registro.php

Propósito: insertar un nuevo registro en la tabla detalles.

Elementos:

Buenas prácticas: ya usa sentencias preparadas; mejorar validación y añadir protección CSRF si hay formularios públicos.

Archivos/index.php

Archivo: Archivos/index.php

Propósito: mostrar la lista paginada de nombres guardados en la tabla detalles.

Lógica:

Nota: sanitiza salida con htmlspecialchars().

Archivos/Sql/detalles.sql

Archivo: Archivos/Sql/detalles.sql

Contenido: definición de la tabla detalles con columnas: numero (PK, AUTO_INCREMENT), nombre (varchar(100)), hash (text).

Ver Archivos/Sql/leeme.txt para instrucciones de importación.

Archivos/Js/copytxt.js

Archivo: Archivos/Js/copytxt.js

Propósito: habilitar botón "copy txt" para copiar el contenido de #contenedor-texto.

Funciones: setupCopyToClipboard() y copyUsingExecCommand() (fallback).

Etiquetas/Html.php

Archivo: Etiquetas/Html.php

Propósito: clase sencilla para construir etiquetas y mostrar contenido.

Elementos clave: constantes SOLA, PAR, TEXTO; métodos crear() e imprimir() y utilidades internas modificar(), obtener().

Tests/index.php

Archivo: Tests/index.php

Propósito: ejemplo de uso de la clase Html y plantilla de página con favicons. Usa require_once "../Etiquetas/Html.php"; y luego $html = new Html; / $html->imprimir(...);

Archivos/Styles/tema.css

Archivo: Archivos/Styles/tema.css

Propósito: estilos para la lista y la paginación; contiene media queries para móvil y escritorio.

Flujo típico de uso

  1. Preparar base de datos: crear base archivos e importar Archivos/Sql/detalles.sql (ver Archivos/Sql/leeme.txt).
  2. Insertar registros: desde Archivos/registro.php (formulario) se inserta nombre_archivo en la tabla detalles.
  3. Ver registros: abrir Archivos/index.php para ver la lista paginada.
  4. Generar vista del directorio: ejecutar o abrir view.php para crear index.html con enlaces y botones de eliminar.
  5. Script de infraestructura: ejecutar lamp_manager.sh en un sistema Debian/Ubuntu con sudo para instalar/gestionar LAMP y vhosts.

Riesgos y recomendaciones rápidas


Archivos listados (referencia rápida)

Símbolos y funciones referenciadas