Хранилище файлов
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