Задать вопрос

Как наиболее эффективно отдать контент xml-файла с заменой данных?

Доброй ночи.
Встала задача при запросе открыть большой (от 20mb до бесконечности) xml-файл, поменять в нем некоторые атрибуты и отдать сырым потоком для загрузки, ничего не записывая на сервер. Пока читаю при помощи XML Reader, собираю в процессе все как простой текст с нуля, и отдаю в виде одной огромной переменной. Но, во-первых, это не кажется мне красивым, а во-вторых, файлы могут быть неограниченного размера, и хранить весь собираемый по ходу потокового их чтения контент в одной переменной не кажется мне хорошим вариантом.
Как бы поступили вы в данной ситуации?..

Спасибо.
  • Вопрос задан
  • 277 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Запомните.
Если размер предполагается больше "нормального", то всегда читаем и пишем по блокам!
Это самый простой вариант. "Сложный" - двигаться смещением по файлу.
Если вы не записываете на диск, то файл размещается в памяти.
ПХП регулируется конфигурацией. Т.е. что будет тогда, когда в конфигурации указано (к примеру) 4 мб, а файл у вас 80мб. Будем свопиться?
Посему блоками фигачим и не паримся.
А! Ну и отдаем же так же блоками.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы