Offline-версия сайта

Автор: SPECTATOR Сайт: http://spectator.ru/
   
   Этап первый.
   Создание нормальной 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 — нужно только знать, где искать. Я знал, но на поиски все равно угробил минут пять.
   Управление простое, кому надо — разберетесь. Полезная вещь: при компиляции можно автоматически проиндексировать все файлы (compile full-text search information) и сделать возможность поиска (жутко глючная вещь, но иногда работает как надо).
   
   Выводы.
   Ссылки все-таки надо как-то разграничивать на внутренние (в пределах сайта) и внешние.
   
   
   
   
   

Опубликовано: HTTP://WWW.R-T-F-M.INFO, pauk ©® 2000-2011.
All rights reserved.
При перепечатки ссылка на сайт обязательна.
Мнение администрации сайта не всегда совпадает с мнением автора..