PHP-cкрипт пейджинга больших текстовых файлов

Александр19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
27.09.2012

Проблема: есть большие файлы данных, которые иногда приходится анализировать вручную - то есть отмотать на определённое место и глазами посмотреть что там.

Надо: сделать веб-интерфейс следующего вида:

- сверху панель, где указывается путь к локальному файлу и опционально строка для поиска в этом файле,

- после нажатия кнопки в центральную область окна грузится кусок файла, то есть текст от текущей позиции в файле и длиной Х (скажем, 5 Кб),

- снизу выводятся стрелки влево-вправо и количество страниц (округлённое частное от размера файла, делённого на размер "окна"). По нажатию на стрелки или номера страниц происходит переход на нужную страницу,

- при вводе текста для поиска и нажатия кнопки "Find" в интерфейсе показывается крутящее колесо, после этого загружается страница, на которой находится заданный текст. Поиск начинается не с начала файла, а от текущей страницы, чтобы можно было потом искать дальше.

Есть: консольный PHP-скрипт для поиска заданной строки в файле (через fread), а также получение текста с произвольной позиции заданной длины (fseek+substr). Скрипт писал я, так что если нужно смогу объяснить особенности архитектуры =)

Требования:

- шаблон интерфейса взять тут - http://j.mp/QyZsNI

- загрузка производится через AJAX,

- в проекте используются Zend Framework 1.11, jQuery, jQuery UI. При разработке используйте их возможности,

- стандарт кодирования: Zend,

- интерфейс не локализуется, любые интерфейсные элементы называть по-английски,

- желательно размер "окна" рассчитать яваскриптом как число символов, которые можно разместить в области отображения текущим шрифтом (кажется, есть такая функция). Если не сможете, то вывести лист-бокс или слайдер с целыми значениями килобайт в диапазоне 1-10 со значением 5 умолчанию.

P.S. Под "большими файлами" подразумеваются текстовые файлы в несколько гигабайт.