46 Mover Archivo de Privado a Público en el Curso FullStack de Laravel (PHP y MySQL)

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

Descripción

🚚 Lección 46: Mover Archivo de Privado a Público

Este capítulo completa la funcionalidad de cambiar el estado de un archivo, asegurando que el archivo físico sea movido del almacenamiento privado al público en el servidor para que pueda ser compartido a través de un enlace.

⚙️ Lógica para Mover Archivos

El instructor añade la lógica de movimiento de archivos justo después de actualizar el estado del archivo en la base de datos dentro de la función cambiarDePrivadoAPublico del ArchivoController:

  1. Definición de Rutas: Se requiere la ruta actual (privada) y la ruta de destino (pública) del archivo:
    • Ruta Privada (Actual): Se construye utilizando el ID de la carpeta ($archivo->carpeta_ID) y el nombre del archivo ($archivo->nombre) extraídos del modelo del archivo [02:15].
    • Ruta Pública (Destino): Se define como la carpeta public de Laravel, seguida del ID de la carpeta y el nombre del archivo [03:30].
  2. Ejecución del Movimiento: Se utiliza la función Storage::move() para realizar la transferencia del archivo físico en el servidor:
    • Storage::move($ruta_privada, $ruta_publica) [04:00].
    • Esta función no solo mueve el archivo, sino que, si la carpeta de destino (public/ID_carpeta) no existe, Laravel la crea automáticamente [06:07].

Verificación y Resultado Final

  • El usuario verifica que, al presionar "Cambiar a Público", el archivo es movido de la carpeta privada (storage/app/ID_carpeta) a la carpeta pública (public/ID_carpeta) [05:54].
  • El registro en la base de datos se actualiza a público [05:47].
  • La interfaz del modal se actualiza para reflejar el estado público, mostrando el botón para Cambiar a Privado y la sección para Copiar Enlace.

➡️ Próximos Pasos

Habiendo completado el movimiento físico del archivo, el instructor indica que las próximas lecciones se enfocarán en:

  1. Implementar la función inversa: mover el archivo de público a privado [06:29].
  2. Generar el enlace compartible para el archivo público, incluyendo la posibilidad de generar un código QR [06:38].