47 Mover el archivo de PÚBLICO a PRIVADO en el curso de LARAVEL (PHP y MySql) FullStack

Duración: 11 min
Módulo: 🔗 Opciones de Compartición y Privacidad Lección 5 de 7

Descripción

🔁 Lección 47: Mover el Archivo de Público a Privado

Este capítulo implementa la funcionalidad inversa del capítulo anterior: cambiar el estado de un archivo de público a privado, lo que implica actualizar la base de datos y mover el archivo físico de vuelta al almacenamiento privado.

⚙️ Lógica para Volver a Privado

La funcionalidad se implementa de manera similar al proceso inverso (privado a público):

  1. Formulario en la Vista (show.blade.php):
    • Se crea un nuevo formulario alrededor del botón "Cambiar a Privado" dentro del modal [00:38].
    • Se envía el ID del archivo como campo oculto (hidden) [01:00].
    • Para evitar conflictos de ruta con la acción de "privado a público", se cambia el método de envío del formulario a POST (mientras que la otra acción puede usar GET o se ajusta también a POST) [09:29].
  2. Definición de la Ruta:
    • En web.php, se define una nueva ruta (método POST) llamada mi-unidad/archivo/publico-a-privado con el nombre cambiar.publico.privado [02:30].
    • Esta ruta apunta a la nueva función del controlador: cambiarDePublicoAPrivado.
  3. Lógica del Controlador (ArchivoController):
    • Se crea la función cambiarDePublicoAPrivado [02:18].
    • Recepción de Datos: Se recibe el $id del archivo mediante Request [03:23].
    • Definición del Estado: Se establece la variable $estado_del_archivo como privado [03:37].
    • Actualización en la BD: Se busca el archivo, se actualiza su campo estado_archivo a privado y se guarda (save) [04:45].
    • Movimiento del Archivo: Se reutiliza la lógica de las rutas para el movimiento, pero se invierte la dirección:
      • Mover: Desde la $ruta_archivo_publico hacia la $ruta_archivo_privado [05:36].
      • El movimiento garantiza que el archivo se retire del directorio público del servidor.
    • Mensaje de Éxito: Se retorna un mensaje confirmando el cambio [05:54].

Prueba de Funcionalidad

El instructor verifica el ciclo completo (Privado ➡️ Público ➡️ Privado) y confirma su correcto funcionamiento [10:07]:

  • Un archivo se cambia a Público (se actualiza la BD y se mueve a la carpeta pública).
  • Al cambiarlo de Público a Privado, la base de datos se actualiza nuevamente a privado y el archivo físico retorna a su ubicación original en la carpeta privada (storage/app/ID_carpeta) [10:29].

➡️ Próximo Paso: Enlace Compartible

Con la gestión del estado y el movimiento físico del archivo completado, la siguiente lección se centrará en la generación y copiado del enlace para los archivos en estado público [10:56].