|
|
|
|
Люди!
Используйте PHP! - часть 3
|
Евгений
Молодкин
Сейчас
много говорят о том, что долгая загрузка
странички - это плохо, очень долгая
загрузка - очень плохо. Использовать
меньше графики, навороченых скриптов и
аплетов (за исключением, конечно, сайтов,
которые посвящены графике или скриптам) -
один из основных способов уменьшить объём
странички. Этим должны заниматься сами Веб-мастеры.
Есть и другой способ - убирать лишние
пробелы, переносы строк, заменять длинные
теги аналогичными, но короткими. Но
зачастую некоторые пренебрегают таким
прекрасным способом, говоря что-то вроде
"У меня на сайте более 100 страниц!!! Да
если каждую редактировать вручную, это ж с
ума сойти можно!!!" (конечно, это не
относится к профессиональным Веб-разработчикам).
Так почему бы не отдать такую рутиную
работу скрипту? Я никаких ПРОТИВ не вижу.
Как вы уже догадались, скрипт будет
написан на PHP. Итак, начнём.
Первое,
что нужно сделать, это решить, что должен
делать наш скрипт:
1. Убирать лишние пробелы.
2. Убирать все переводы строк.
3. Заменять некоторые длинные теги
короткими.
Некоторые
скажут - мало. Я тоже думал "мало", но
после того, как я опробовал скрипт на
страничке из Dreamweaver`а и та уменьшилась
почти на 30 % (и это учитывая то, что Dreamweaver -
одна из самых лучших программ для верстки
страничек), я убедился, что этого будет
достаточно, во всяком случае пока.
Сразу
хочу сказать, чтобы в меня не швыряли
помидорами заядлые программисты на PHP.
Скрипт написан не из соображений
компактности и быстродействия (зато в нём
легко разобраться, да и скорость тут, в
принципе, ни к чему).
Исходный
код скрипта с коментариями:
<?php
/*
Запускать скрипт следует с параметром files,
равным имени файла, подлежащего
оптимизации */
/*
Открываем файл, с именем, указаным в
параметре files, для чтения */
$fp = fopen($files, "r");
/* Читаем
данные из файла в массив $soo */
$soo = fread($fp, filesize( $files ));
/*
Убираем все переносы строки */
$soo = str_replace("\n","", $soo);
/*
Заменяем все пробелы более одного подряд
одним пробелом */
$soo = chop($soo);
/* Теперь
убираем пробелы между кавычками > и < */
$soo = str_replace("> <","><", $soo);
/*
Убираем пробелы перед кавычками и после
кавычек*/
$soo = str_replace("< ","<", $soo);
$soo = str_replace(" >",">", $soo);
/* А
теперь заменим нехорошие теги хорошими :) */
$soo = str_replace("<ADDRESS>","<I>", $soo);
$soo = str_replace("<STRONG>","<B>", $soo);
$soo = str_replace("<EM>","<I>", $soo);
$soo = str_replace("<STRIKE>","<S>", $soo);
$soo = str_replace("<BLOCKQUOTE>","<UL>", $soo);
$soo = str_replace("<VAR>","<I>", $soo);
$soo = str_replace("<CITE>","<I>", $soo);
$soo = str_replace("<CODE>","<TT>", $soo);
$soo = str_replace("<KBD>","<TT>", $soo);
$soo = str_replace("<SAMP>","<TT>", $soo);
$soo = str_replace("</ADDRESS>","</I>", $soo);
$soo = str_replace("</STRONG>","</B>", $soo);
$soo = str_replace("</EM>","</I>", $soo);
$soo = str_replace("</STRIKE>","</S>", $soo);
$soo = str_replace("</BLOCKQUOTE>","</UL>",
$soo);
$soo = str_replace("</VAR>","</I>", $soo);
$soo = str_replace("</CITE>","</I>", $soo);
$soo = str_replace("</CODE>","</TT>", $soo);
$soo = str_replace("</KBD>","</TT>", $soo);
$soo = str_replace("</SAMP>","</TT>", $soo);
/*
Закрываем файл */
fclose($fp);
/* Теперь
открываем этот же файл для записи */
$fp = fopen($files, "w");
/*
Заменяем старый код оптимизированным, из
массива $soo */
$fw = fwrite($fp, $soo);
/*
Закрываем этот файл (теперь уже
окончательно) */
fclose($fp);
?>
У
странички, оптимизированной этим скриптом
будет одно преимущество: если её захотят
скопировать, придётся долго разбираться в
её исходнике (чтобы не скопировали прямо
из броузера, см. статью "Как защитить от
копирования текст на вашем сайте"
номера 209 InternetZone).
Советую
для удобства сделать страничку с формой (одно
поле текста, с именем files и кнопка Submit) и action
равным имени скрипта-оптимизатора, где
нужно указать имя файла и нажать на
кнопочку. Кстати, тогда лучше будет
сделать мета-тег в скрипте, возвращающий
вас на страничку с формой.
<meta
http-equiv="refresh" content="0;URL=Ваша_страничка_с_формой">
Ещё
один совет. Чтобы удлбнее оптимизировать
странички (да и на будущее пригодиться)
установите на домашнем компьютере Russian Apache
и гипертекстовый процессор PHP, тогда можно
будет производить отладку скриптов PHP "не
отходя от кассы" :) Где взять и как
настроить - см. сайт www.web.ru.
На
этом и заканчивается серия статей о PHP.
Главная задачей этих статей, чтобы вы
поняли, как разнообразно применение PHP,
какой это мощный язык программирования.
Хочу
ещё раз сказать. Люди! Используйте PHP!
Евгений
Молодкин,
E-mail: johny_webmaster@nm.ru |
 |
[an error occurred while processing this directive] |
 |
|
|
|
|