А вообще, было бы здорово реализовтаь подобный модуль:
Допустим, вам необходимо хранить большое количество текстовых символов и выдавать по запросу пользователя их определенный диапазон (страницы).
Условно, я вижу 3 способа хранить данные для поставленной задачи с позиции оптимизации и нагрузки:
— файлом на сервере (допустим, .txt формат)
— одной кучей текста в одной ячейки таблицы sql с последующей разбивкой php на страницы
— дробить при добавлении текста на подстраницы и заливать каждую страницу отдельной записью в базе
Насколько я понимаю, первый способ имеет минус с позиции стилизации текста (нет возможности визуально добавлять изображения и стили), второй — необходимостью пользователю выгрузить всю книгу разом и уже после обрабатывать (и так каждый раз при переключении страницы), а третий — большим количеством записей в базе(с одной книги ~100-200 записей).
Поэтому, возможна следующей задумка:
При добавлении книги с админки предоставлять визуальный редактор, куда нужно выгрузить весь текст разом и, при желании, стилизовать.
//ну или альтернатива: выбрать файл для загрузки
После нажатия кнопки сохранить, в базу поступает только информационная часть о книге (название, описание, иконка, id, ...), а сам текст книги один раз парсится (с анализом обрезания страницы до конца абзаца/предложения/слова и закрытости тегов) и каждая полученная таким образом страница обрамляется невидимыми тегами-комментариями вида
… после чего благополучно заливается на сервер в заданную папку с названием вида [id].txt и при запросе пользователем конкретной страницы книги только ищет в заданной записи соответствующий комментарий и выводит только часть текста заданной длины.
Ну и при редактировании книги, админка заново запрашивает весь файл и его можно легко редактировать дальше.
Т.е. вся нагрузка уходит с пользователя и базы на файловую систему (нагрузка минимальна) и в момент сохранения документа.
P.s. буду рад услышать любые За и Против данного метода и возможные способы реализации.