Personal penis extender™. Extending penis since 1998. эбаут  •  скачать  •  карта сайта  •  почта    
SPECTATOR: OUTDATED
Home / технологии / php / Offline-версия

Offline-версия

  // 27 августа 2002 года

Все-таки сделал offline-версию спектатора для скачивания. Самая последняя версия. Размер: 2.8 Mb. Включает в себя: все заметки (1–329) с картинками. Формат — .chm, для его просмотра необходимо иметь: Windows + IE 5.

Вся оффлайновая версия выполнена в виде одного файла (.chm). Кому интересно, как это сделано — читайте дальше, кому нет — ну и не надо.

Этап первый. Создание нормальной html-версии сайта.

Проблема: сайт борется за звание динамического. Поэтому «нормальной» html-версии сайта не существует. Пути решения: скачать сайт какой-нибудь качалкой, типа offline explorer или teleport pro. Не канает: в результате получаем кучу непонятно чего со странной структурой директорий.

А мы пойдем другим путем: сайт динамический, но кто мешает нам нагенерировать страниц и сохранить их в статическом виде? А никто. В PHP есть функция ob_start (и иже с ней). Эта функция влючает буферизацию вывода, или, говоря простым языком, все, что должно выводиться на экран (в браузер) во время исполнения php-скрипта, включая html, не будет никуда выводиться, а будет идти в буфер. А буфер потом можно просто считать и записать на диск, в результате чего все, что должно было пойти в браузер, пойдет в файл на диске.

Пример:

<?
ob_start ();
// включаем буферизацию

……
// тут исполняем всякую фигню (собственно, сам php-скрипт с html’ем).
?>

Тут, например, может идти какой угодно html-код.

<?
$buffer=ob_get_contents;
// считываем буфер

ob_end_clean ();
// выключаем
?>

В результате имеем в переменной buffer все, что должно было выводиться в браузер. Записать это на диск — плевое дело.

Возможности буферизации может представить себе любой человек с богатым воображением: кэширование динамически генерящихся страниц, например. Или сжатие страницы перед выводом. В общем, смотрите —

Очень полезные ссылки по теме:

Этап второй. «Куда деть эту кучу файлов?»

Просто так дать скачивать это все в виде кучи html-файлов — это как-то не модно, верно? А руки у меня давно чесались попробовать одну вещь… Есть такой формат — .chm. Это относительно новый (относительно .hlp) формат хелпа для Windows. Желающие могут поискать у себя на диске файлы *.chm и убедиться. Главная фича этого формата в том, что .chm файл компилируется из кучи простых html-файлов (с картинками и всеми прилагающимися файлами).

Для этих целей используется программа HTML Help Workshop, которая совершенно спокойно лежит на сайте microsoft.com — нужно только знать, где искать. Я знал, но на поиски все равно угробил минут пять. Вот так это чудо выглядит:

HTML Help Workshop

Управление простое, кому надо — разберетесь. Полезная вещь: при компиляции можно автоматически проиндексировать все файлы (compile full-text search information) и сделать возможность поиска (жутко глючная вещь, но иногда работает как надо).

Очень полезные ссылки по теме:

Этап третий. Выводы.

Ссылки (я про это писал) все-таки надо как-то разграничивать на внутренние (в пределах сайта) и внешние. Черезвычайно полезно для оффлайновой версии. Думаю над этим.

 

поиск:



 ^  Copyright © 1998-2008 by Дмитрий Смирнов. Перепечатки возможны только с указанием ссылки.