TIPS OF WEB: php для самых маленьких Sevranty Спецвыпуск Xakep, номер #029, стр. 029-114-2 Эти скрипты в различных вариациях используются для вывода случайных баннеров, интерактивной генерации страниц, вставки всяких ориджинов и комментов. TIPSa 6 Определение времени вывода страницы Все просто до извращения. Попробуешь, и тебе понравится. В начале файла или в первом реквае на странице надо присвоить переменной timestart время, когда началась генерация нашей странички. Предварительно напишем функцию, которая приведет ответ microtime() в удобоваримый вид, по умолчанию это 2 числа через пробел, десятичное долей секунды и действительное в юних-секундах от начала века. <?php function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } $timestart = getmicrotime(); ?> <html> <body> Потом у нас выводится вся наша страница. Наши любимые несколько килобайт кода, море рекваев и куча вспомогательных скриптов. Потом приходит конец страницы. Кстати, надо сделать так, чтобы написанная нами функция getmicrotime была доступна и в конце нашей страницы. <?php $timeend = getmicrotime(); $timenormal=$timeend-$timestart; $timenormal=round ($timenormal, 3); echo 'Страница генерилась '.$timenormal.' секунды'; ?> </body> </html> Этот скрипт прост. Присвоили время с точностью до шести знаков после запятой секунды. Далее посчитали разницу между начальным и конечным значениями. Потом округлили полученное значение до трех знаков после запятой. А теперь ТО САМОЕ число мы выводим в конце страницы. TIPSa 7 Отправка сообщения со страницы с возвратом на ту же страницу Если не усложнять себе жизнь, то этого эффекта можно добиться очень просто. Для этого мне хватает двух файлов. Я этот кусок кода вставляю на страницу рекваем и не мучаюсь. Он отсылает инфу из скриптика send.php, лежащего в той же директории, что и файл, в котором включен этот код. Также он сохраняет урл текущей страницы, чтобы потом на него вернуться: <form method="post" action="send.php"> <b>Твои комменты:</b></br> <input type="hidden" name="urlnow" value="<?php $url = sprintf("%s%s%s","http://",$HTTP_HOST,$REQUEST_URI); echo "$url"; ?>"> <textarea name="message"><?php if ($send=="ok"||$send=="bad") { if ($send=="ok") { echo "Твои комменты успешно запостены"; } if ($send=="bad") { echo "Твой треш не был отправлен"; } } else { ?>Incognito (none@email.me):<?php } ?></textarea> <input type="submit" name="submit" value="Отправить"> </form> Теперь, передав наши два парамента urlnow - текущая страница message - текст комментария - в скрипт send.php, мы посмотрим, что же там творится. <? $urlback = $urlnow; $timeall = 'Date: '.Date( 'D, d M Y H:i:s ').$SIGN.sprintf( '%02d%02d',floor($ZONE/3600),floor(($ZONE%3600)/60)). "\n"; $msg .= $timeall; $msg .= "REMOTE_ADDR: $REMOTE_ADDR\n"; $host = gethostbyaddr("$REMOTE_ADDR"); $msg .= "HOST: $host\n"; $msg .= "$urlback\n"; $msg .= "> КОММЕНТАРИЙ:\n"; $msg .= $message; |