Главная » Полезные статьи » Язык PHP » Люди, используйте PHP! Часть третья
Распечатать статью

Люди, используйте PHP! Часть третья

Сейчас много говорят о том, что долгая загрузка странички — это плохо, очень долгая загрузка — очень плохо. Использовать меньше графики, навороченных скриптов и аплетов (за исключением, конечно, сайтов, которые посвящены графике или скриптам) — один из основных способов уменьшить объём странички. Этим должны заниматься сами Веб-мастеры. Есть и другой способ — убирать лишние пробелы, переносы строк, заменять длинные теги аналогичными, но короткими. Но зачастую некоторые пренебрегают таким прекрасным способом, говоря что-то вроде «У меня на сайте более 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 = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); $soo = str_replace(» «,»", $soo); /* Надеюсь, более десяти пробелов подряд нам не встретится */ /* Теперь убираем все пробелы между кавычками > и < */ $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); $soo = str_replace(«> <»,»><», $soo); /* Убираем все пробелы перед кавычками и после кавычек (думаю больше 5 пробелов не будет)*/ $soo = str_replace(«< «,»<», $soo); $soo = str_replace(«< «,»<», $soo); $soo = str_replace(«< «,»<», $soo); $soo = str_replace(«< «,»<», $soo); $soo = str_replace(«< «,»<», $soo); $soo = str_replace(» >»,»>», $soo); $soo = str_replace(» >»,»>», $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); /* Закрываем файл */ fclose($fp); /* Теперь открываем этот же файл для записи */ $fp = fopen($files, «w»); /* Заменяем старый код оптимизированным, из массива $soo */ $fw = fwrite($fp, $soo); /* Закрываем этот файл (теперь уже окончательно) */ fclose($fp); ?>

У странички, оптимизированной этим скриптом будет одно преимущество: если её захотят скопировать, придётся долго разбираться в её исходнике (чтобы не скопировали прямо из броузера, см. статью «Как защитить от копирования текст на вашем сайте» номера 209 Internet Zone).

Советую для удобства сделать страничку с формой (одно поле текста, с именем files и кнопка Submit) и action равным имени скрипта-оптимизатора, где нужно указать имя файла и нажать на кнопочку. Кстати, тогда лучше будет сделать мета-тег в скрипте, возвращающий вас на страничку с формой.

<meta http-equiv=»refresh» content=»0;URL=Ваша_страничка_с_формой»>

Ещё один совет. Чтобы удобнее оптимизировать странички (да и на будущее пригодится), установите на домашнем компьютере Russian Apache и гипертекстовый процессор PHP, тогда можно будет производить отладку скриптов PHP «не отходя от кассы» :)

На этом и заканчивается серия статей о PHP. Главная задачей этих статей, чтобы вы поняли, как разнообразно применение PHP, какой это мощный язык программирования.

Хочу ещё раз сказать. Люди, используйте PHP!

Источник:  npksv.ru

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи