|

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;
Назад на стр. 029-114-1 Содержание Вперед на стр. 029-114-3
|