Проверяйте пути (directory traversal), права, размеры; не доверяйте имени файла от пользователя.
Разбор
- realpath и whitelist каталогов.
- Храните uploads вне public, если можно.
- MIME не равен безопасности.
- Virus scan/асинхронная обработка — по риску.
Итог
Файловый I/O безопасен только с жёсткой валидацией путей и типов.