Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Время генерации страницы
 
 автор: chexov   (14.01.2008 в 06:39)   письмо автору
 
 

Хотел бы узнать код генераци времени страницы, чтобы после запятой было не больше 4 знаков

<?
list($msec,$sec)=explode(chr(32),microtime());  
echo 
round((($sec+$msec)-$HeadTime),4).' cek.'
?>

Такой код выдает очень много знаков перед запятой >>1200282375.8 cek.

   
 
 автор: Гость   (14.01.2008 в 06:52)   письмо автору
 
   для: chexov   (14.01.2008 в 06:39)
 

>чтобы после запятой было не больше 4 знаков

>Такой код выдает очень много знаков перед запятой >>1200282375.8 cek.

О_о так и не понял в чем вопрос.

   
 
 автор: chexov   (14.01.2008 в 07:38)   письмо автору
 
   для: Гость   (14.01.2008 в 06:52)
 


<? 
list($msec,$sec)=explode(chr(32),microtime());   
echo 
round((($sec+$msec)-$HeadTime),4).' cek.';  
?>

этот код выводит 10 знаков до запятой(точки), а мне надо не больше 4

   
 
 автор: Петр   (14.01.2008 в 07:07)   письмо автору
 
   для: chexov   (14.01.2008 в 06:39)
 


number_format()

   
 
 автор: Trianon   (14.01.2008 в 09:02)   письмо автору
 
   для: chexov   (14.01.2008 в 06:39)
 

$HeadTime чему равно?

   
 
 автор: Nemezis   (14.01.2008 в 15:41)   письмо автору
 
   для: chexov   (14.01.2008 в 06:39)
 


<?php
// Start.
$startTime array_sum(explode(' 'microtime()));
/*
    IMBA code goes here.
*/
// Stop.
echo roundarray_sum(explode(' 'microtime())) - $startTime4);
?>

   
 
 автор: chexov   (14.01.2008 в 16:51)   письмо автору
 
   для: Nemezis   (14.01.2008 в 15:41)
 

Все время показывает 0

   
 
 автор: pina   (14.01.2008 в 20:37)   письмо автору
 
   для: chexov   (14.01.2008 в 16:51)
 

Ты имеешь в виду подобное?
<?php

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$tstart = $mtime;

// your code

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$tend = $mtime;
$tpassed = ($tend - $tstart);
print round($tpassed, 4);

?>

   
 
 автор: Unkind   (14.01.2008 в 21:04)   письмо автору
 
   для: chexov   (14.01.2008 в 16:51)
 

> Все время показывает 0

<?php 
// Start. 
$startTime array_sum(explode(' 'microtime())); 
 
for(
$i 0$i 1000md5($i), $i++);

// Stop. 
echo roundarray_sum(explode(' 'microtime())) - $startTime4); 
?>


А так? :))

P.S. На PHP5 достаточно взять за начальное время microtime( true ), а в конце вычесть из опять же microtime( true ) начальное значение.

   
 
 автор: chexov   (15.01.2008 в 19:05)   письмо автору
 
   для: Unkind   (14.01.2008 в 21:04)
 

получается все время 0.001 или 0.002

   
 
 автор: Unkind   (15.01.2008 в 19:32)   письмо автору
 
   для: chexov   (15.01.2008 в 19:05)
 

Ну это и есть время генерации. Можете убрать round() вообще.

   
 
 автор: chexov   (16.01.2008 в 04:43)   письмо автору
 
   для: Unkind   (15.01.2008 в 19:32)
 

получается очень длинно, вот пример
0.5454 сек. вот так не выводит хоть тресни
http://visavi.net

   
 
 автор: Unkind   (16.01.2008 в 09:39)   письмо автору
 
   для: chexov   (16.01.2008 в 04:43)
 

LOL

   
 
 автор: Nemezis   (16.01.2008 в 11:57)   письмо автору
 
   для: chexov   (16.01.2008 в 04:43)
 

Не морочьте людям голову, я дал Вам скрипт с надеждой на то, что вы поймёте, что вместо надписи IMBA code goes here нужно подставить свой код, Unkind вам даже помог, если пишет малое время - то надо радоваться, что ваш скрипт работает так быстро. Какие вопросы тут могут быть ещё?

   
 
 автор: chexov   (17.01.2008 в 04:51)   письмо автору
 
   для: Nemezis   (16.01.2008 в 11:57)
 

голову я ни кому не морочу: Но если скрипт рассылки 1000 сообщений, как он может показать время генерации 0,001 ???????????? как минимум 30 секунд

   
 
 автор: AVS   (17.01.2008 в 13:22)   письмо автору
 
   для: chexov   (17.01.2008 в 04:51)
 


$time_start=microtime(1);

echo "Hello, world!<br>";

echo (microtime(1)-$time_start);


Вот и все. Не надо мудрить с округлениями или разбивкой строк. Надо 4 числа после точки? Воспользуйтесь substr()!

   
 
 автор: KPETuH   (17.01.2008 в 13:26)   письмо автору
 
   для: AVS   (17.01.2008 в 13:22)
 

поддерживаю :)

   
 
 автор: а-я   (15.01.2008 в 14:37)   письмо автору
 
   для: chexov   (14.01.2008 в 06:39)
 

не знаю на сколько это правильно... я так делаю..
2ым параметром можно передать сколько будет цифр после запятой... по умолчанию 4
идет запись в массив, так можно подсчетать какой кусок кода, сколько занимает времени...

<?
time_reg
('php');

// ВАШ КОД

echo time_reg('php');


/*/Ф У Н К Ц И И /*/
    
function time_reg($A,$B=4)
    {
    static 
$Z;
    
$C=microtime(1);
        if(empty(
$Z[$A]))
        {
$Z[$A]=$C;}
        else
        {return 
round($C-$Z[$A],$B);}
    }
?>

   
 
 автор: а-я   (15.01.2008 в 14:51)   письмо автору
 
   для: chexov   (14.01.2008 в 06:39)
 

ой... =)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования