28 Uploads de archivos a las carpetas de forma PÚBLICA Y PRIVADO curso de LARAVEL (PHP y MySql)
Duración: 10 min
Módulo: 📤 Carga y Almacenamiento de Archivos
Lección 3 de
4
Descripción
🔒 Lección 28: Uploads de Archivos a las Carpetas de Forma Pública y Privada
Este capítulo se centra en mejorar la lógica de carga de archivos en el backend, asegurando que los archivos subidos mantengan su nombre original y gestionando su visibilidad (pública o privada) dentro del sistema de archivos de Laravel.
🏷️ Mantenimiento del Nombre Original del Archivo
- Problema de Encriptación: Se explica que la configuración predeterminada de Laravel encripta el nombre del archivo al guardarlo, lo que dificulta la identificación para el usuario [00:39].
- Solución con Identificador Único: Para mantener el nombre original y evitar la sobrescritura de archivos con nombres duplicados, se utiliza la función time() (el identificador de tiempo) y se concatena con el nombre original del archivo (getClientOriginalName) [01:39].
- Paso de Parámetro name: Al utilizar el método store o put del facade Storage, se pasa el nuevo nombre ($fileName) como parámetro, forzando a Laravel a usar esta cadena en lugar de encriptar el nombre [02:24].
🌐 Almacenamiento Público vs. Privado
- Almacenamiento Público (Public):
- Al añadir el parámetro 'public' al método de almacenamiento (Storage::put($ruta, $archivo, 'public')), el archivo se guarda dentro del subdirectorio storage/app/public [03:26].
- Estos archivos son accesibles mediante un link público (tras ejecutar php artisan storage:link), lo que es adecuado para archivos que deben ser vistos por cualquier usuario o en un navegador (ej. imágenes de perfil, documentos compartidos) [03:37].
- La ruta de acceso es típicamente URL_BASE/storage/ID_CARPETA/NOMBRE_ARCHIVO [08:00].
- Almacenamiento Privado (Private):
- Al omitir el parámetro 'public' o usar Storage::putFile('ruta', $archivo), el archivo se guarda dentro de la carpeta storage/app [06:07].
- Estos archivos no son accesibles directamente a través de una URL pública. Para verlos o descargarlos, se debe usar una ruta definida en Laravel que verifique la autenticación y permisos antes de devolver el contenido del archivo.
- Esta modalidad es ideal para archivos sensibles que deben estar protegidos y solo ser accesibles por los usuarios correctos (ej. documentos internos, copias de seguridad) [07:07].
📁 Organización por ID de Carpeta
- Estructura de Directorios: En ambas modalidades (pública y privada), el archivo se guarda dentro de un subdirectorio que tiene como nombre el ID de la carpeta a la que pertenece [06:51]. Esto mantiene la coherencia entre el sistema de archivos del proyecto y la base de datos.
- Próximo Paso: El instructor reitera que el siguiente capítulo se centrará en registrar la información del archivo (nombre, ruta, ID de carpeta) en la base de datos, para que los archivos subidos puedan ser listados y gestionados desde el frontend.
Lecciones
⚙️ Configuración e Inicialización
🏗️ Modelos de Datos y Controladores
📁 Gestión y Navegación de Carpetas
🎨 Personalización y Edición de Carpetas
Lección 5. 21 Incorporar Tooltips en las CARPETA en el curso de LARAVEL (PHP y MySql) FullStack
5 min
Lección 6. 22 Menú opción de carpetas de colores en el curso de LARAVEL (PHP y MySql) FullStack
8 min
Lección 7. 23 Actualizar el color de la CARPETA en el curso de LARAVEL (PHP y MySql) FullStack
12 min
Lección 9. 25 Controller colores de las SUBCARPETAS en el curso de LARAVEL (PHP y MySql) FullStack
15 min
📤 Carga y Almacenamiento de Archivos
📄 Listado y Visualización de Archivos
Lección 7. 36 Como hacer un visor VIDEOS Y AUDIOS en el curso de LARAVEL (PHP y MySql) FullStack
10 min
🗑️ Eliminación y Seguridad de Archivos
Lección 5. 41 Como mostrar archivos de manera privada en el curso de LARAVEL (PHP y MySql) FullStack
12 min
🔗 Opciones de Compartición y Privacidad
Lección 4. 46 Mover Archivo de Privado a Público en el Curso FullStack de Laravel (PHP y MySQL)
7 min
Lección 5. 47 Mover el archivo de PÚBLICO a PRIVADO en el curso de LARAVEL (PHP y MySql) FullStack
11 min
🧹 Mantenimiento del Sistema
👑 Roles, Permisos y Panel de Control
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️