Blog. Just Blog

Web-мастеру и не только

Полезные решения для Web-мастеров
Web-мастеру и не только - RSS-канал Web-мастеру и не только - Карта сайта

Подсчет времени генерации страницы сайта

25.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Очевидно, что время генерации страницы - это разница от момента обработки первой строчки скрипта до момента обработки последней строчки. Для его расчета точности функции time() недостаточно, так как ее шаг равен 1 секунде. Страница же на сервере обычно генерируется за меньшее время. Если это не так, то стоит всерьез озадачиться оптимизацией вашего кода или сменой хостинг-провайдера. Для замеров более коротких интервалов времени в PHP существует функция microtime(). Она возвращает в виде строки текущее время с микросекундами, например:

0.57975400 1222376863

Значит для подсчета времени требуется получить значения microtime() в начале и конце работы скрипта и отобразить разницу между ними. Для выделения из строки числовых значений воспользуемся функцией explode().
  1. <?
  2. // Начало скрипта
  3.  
  4. // Получаем текущее время с микросекундами
  5. $mtime=explode(" ",microtime());
  6. // После выполнения команды explode() массив $mtime содержит значения:
  7. // $mtime[0] - микросекунды, $mtime[1] - секунды
  8. $tstart=$mtime[1]+$mtime[0]; // Засекаем начальное время
  9.  
  10. ...
  11. ...
  12. // Основной код скрипта
  13. ...
  14. ...
  15.  
  16. // Получаем текущее время с микросекундами
  17. $mtime=explode(" ",microtime());
  18. // Уже знакомая нам функция explode()
  19. $tend=$mtime[1]+$mtime[0]; // Засекаем конечное время
  20. // Округляем до двух знаков после запятой
  21. $totaltime=round(($tend-$tstart),2);
  22. // Результат на экран
  23. echo "Время генерации страницы: ".$totaltime." сек.";
  24.  
  25. // Конец скрипта
  26. ?>
Рабочий пример вы можете посмотреть в самом низу этого сайта.

Читать статью целиком »
Просмотров: 7074 | Комментариев: 5

Сейчас на сайте 2 гостей и 3 новостей

23.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Смешно звучит, правда? А ведь такие уродливые сочетания встречаются на очень многих сайтах. И если в английском языке достаточно написать что-то типа day(s), byte(s) и это будет смотреться вполне нормально, то в русском языке в конструкциях "число + слово" обязательно придется учитывать склонения. Безумные извраты типа "гостя(ей)" и "новость(ей)" я даже не рассматриваю, за такое надо лишать доступа к компьютеру навсегда.

Чтобы писать по-русски на своих сайтах я использую такую универсальную функцию:
  1. function num2word($num,$words) {
  2.   $num=$num%100;
  3.   if ($num>19) { $num=$num%10; }
  4.   switch ($num) {
  5.     case 1:  { return($words[0]); }
  6.     case 2:
  7.     case 3:
  8.     case 4:  { return($words[1]); }
  9.     default: { return($words[2]); }
  10.   }
  11. }
Параметры вызова: $num - число, $words - массив склонений нужного слова. Как формируется массив вы можете посмотреть на примерах.

Читать статью целиком »
Просмотров: 4604 | Комментариев: 13

Flash-навигация при отключенном Flash

15.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Последнее время технология Flash на сайтах становится все более популярной. Красивые анимированные меню, баннеры, и даже целые сайты выполнены на Flash. Не так давно я с интересом узнал, что изначально Flash создавался для просмотра анимированных порнушных мультиков и совершенно не предназначался для сайтостроительства. Предположим, вы относитесь к тому редкому виду дизайнеров, которые используют Flash "редко, но метко", и сделали на нем красивую навигацию для сайта. У большинства пользователей все работает как надо, ссылки, прописанные в Flash-кнопках открываются, в общем все замечательно. А что увидит пользователь сайта, если у него в браузере отключена поддержка Flash, например в целях безопасности или экономии трафика? Правильно, не увидит НИЧЕГО. Для решения проблемы предлагаю использовать следующий код:
  1. <object type="application/x-shockwave-flash"
  2.   data="images/contact_button.swf" width="100" height="30">
  3.   <param name="menu" value="false" />
  4.   <param name="quality" value="high" />
  5.   <param name="wmode" value="transparent" />
  6.   <param name="bgcolor" value="#ffffff" />
  7.   <param name="movie" value="images/contact_button.swf" />
  8.   <a href="contact.html"><img src="images/contact_button.gif" width="100"
  9.   height="30" border="0" alt="Контакты" /></a>
  10. </object>
Если все нормально, то посетитель увидит красивую кнопку contact_button.swf, если в браузере отключен Flash, будет показана ссылка на страницу контактов и графическая кнопка contact_button.gif. Если отключены и картинки, то будет показан текст-заместитель "Контакты". Как видите, в любом случае посетитель не потеряется на вашем сайте и попадет куда надо. Приведенный код работает во всех браузерах и 100% проходит проверку на валидаторе W3C.

Просмотров: 4328 | Комментариев: 6

Запуск нескольких функций по событию onLoad

04.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Начнем с документации:


onLoad
Событие onLoad происходит при полной загрузке страницы документа или всех фреймов. Оно считается состоявшимся только после завершения загрузки всей страницы, включая изображения.


Это событие часто используется различными скриптами для модификации страницы сразу после загрузки, например прописываются красивые всплывающие подсказки вместо стандартных атрибутов title, подсвечивается код, выполняется инициализация других скриптов или выполняются другие полезные действия в зависимости от фантазии разработчиков. Проблема в том, что разработчиков с их фантазией много, а событие на странице только одно. И получается ситуация, когда хочется подключить на свою web-страничку несколько скриптов разных производителей, и все они для своей работы хотят монопольно использовать событие onLoad. Конечно, при наличии определенных навыков можно подправить исходный код. Но как быть, если исходный код скриптов недоступен, например файлы расположены на стороннем сервере или упакованы (зашифрованы)? Что делать с упакованными и шифрованными скриптами и их "аффтарами" я расскажу потом, это тема для отдельной статьи, а сейчас будет решаться задача с выполнением нескольких функций по событию onLoad.

Читать статью целиком »
Просмотров: 18489 | Комментариев: 14

Нестандартный способ определения браузера Internet Explorer

02.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Начиная с версии 1.2 в языке JavaScript есть интересный метод работы с функциями - arguments.callee. Откроем почитать документацию.


arguments.callee
Специфицирует тело исполняемой в данный момент функции. Свойство callee доступно только в теле функции. Ключевое слово this не относится к исполняемой в данный момент функции. Используйте свойство callee для обращения к функции в теле этой функции.


Проще говоря, результатом выполнения arguments.callee внутри какой-нибудь функции будет тело этой функции. Для наглядного примера код:
  1. function myFunc() {
  2.   return arguments.callee;
  3. }
  4. alert(myFunc());
покажет в MessageBox'е следующее:


Результат arguments.callee

то есть в точности код вызванной функции. "Ага!" - подумали суровые уральские мужики. - "А если мы поместим в тело функции что-нибудь еще, например железный лом комментарий?" Подумали и поместили.

Читать статью целиком »
Просмотров: 5305 | Комментариев: 5

prev 01 ... 23 24 25 26 27 28 29 30 31 next
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2019
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 2 (0.0024 сек.) / Память: 4.75 Mb
Наверх