Я много раз сталкивался с этой дилеммой, и мне хотелось бы один раз и навсегда изменить ответ в своей голове.
При создании файлов с помощью PHP, таких как * .zip, * pdf или любой другой, PHPпредоставит вам два варианта работы:
необходимо учитывать следующее:
- Безопасность (обычное)
- Процессор и время обслуживания для файла
- файлацелостность
- обновления файлов
- любые другие соображения, которые я не перечислил.
Практический пример:
Допустим, у меня естьвеб-сайт для загрузки упакованного zip-файла с изображениями.
Если я отправлю zip-файл в потоковом режиме - это, очевидно, будет стоить ЦП (и времени).
Если я запишу на диск - это может быть проблемой безопасности (Предполагая, что кто-то может «сканировать» сайт, как-то найти папку или файлы zip и массово скачать все)
Если я пишу на диск, мне также нужно будет как-то проверить, нужно ли обновлять файлы внутри zipили нет, плюс мне придется проверять целостность файла.
В любом случае - я хотел бы услышать, что люди скажут о том, какой метод является предпочтительным, при каких обстоятельствах, каковы наилучшие методы для этогоили любое другое понимание.