Перейти к основному содержимому

Хранилище файлов

FeedbackPulse хранит загруженные файлы (логотипы, изображения продуктов, фото обратной связи) на диске.


📂 По умолчанию: локальное хранилище

По умолчанию файлы хранятся в storage/app/public/ и обслуживаются через символическую ссылку public/storage.

FILESYSTEM_DISK=local

Структура хранилища

storage/app/public/
├── logos/ # Логотипы компаний арендаторов
├── products/ # Изображения продуктов
├── submissions/ # Загрузки фото обратной связи
├── avatars/ # Аватары профилей пользователей
└── landing/ # Ресурсы лендинга

Создание символической ссылки

php artisan storage:link

Создаёт: public/storage → storage/app/public/


☁️ Совместимое с S3 хранилище (опционально)

Для облачного хранилища (AWS S3, DigitalOcean Spaces, MinIO):

FILESYSTEM_DISK=s3

AWS_ACCESS_KEY_ID=your_key
AWS_SECRET_ACCESS_KEY=your_secret
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=feedbackpulse-uploads
AWS_URL=https://feedbackpulse-uploads.s3.amazonaws.com

💡 Когда использовать S3: Если у вас много арендаторов, загружающих фото, или если вы хотите обслуживать файлы через CDN для лучшей производительности.


📏 Лимиты загрузки

Настройте в вашем веб-сервере:

Nginx:

client_max_body_size 20M;

Apache (.htaccess):

php_value upload_max_filesize 20M
php_value post_max_size 25M

PHP (php.ini):

upload_max_filesize = 20M
post_max_size = 25M
memory_limit = 256M

⏭️ Следующие шаги