Задать вопрос
blood-moon
@blood-moon
Фрилансер

Как обрабатывать файл полученный пост запросом правильно?

Через форму гружу текстовый файл , нужно обработать его построчно , некоторые строки записать в бд а остальные просто пропустить .
Сейчас вижу только вариант
1. Сохранять файл на сервере
2. Читаем построчно , обрабатываем строки
3. удаляем файл

Но можно ли как-то не сохранять файл на сервере ? В памяти его прочитать или ещё как . Просто пока мне кажется мой метод костылём каким-то
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Простой 1 комментарий
Ответ пользователя alexalexes К ответам на вопрос (3)
@alexalexes
Именно так, как вы описали.
Вообще, если вы используете нативные возможности серверного окружения для приема, передачи, чтения, записи данных по средством файлов, то вы должны морально готовы написать код так, чтобы минимальными ресурсами оперативной памяти (десятки мегабайт) перерабатывать объем данных (сотни мегабайт, гигабайты), расположенный в файлах, кратно превышаемый объем этой оперативной памяти, выделенной для выполнения скрипта.
Поэтому, читать файлы вам в любом случае построчно (еще правильнее - поблочно, с ограничением макс. длины блока), и при обработки блока постоянно вспоминать, а сколько оперативной памяти кушается при получении данных из файла (делать отладку с профилированием памяти), передачи их в функции и методы обработки, до записи результата. Также научитесь вовремя очищать тяжеловесные переменные (внезапно unset окажется не так уж бесполезен).
Ответ написан
Комментировать