• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

skin

[PHP]Tempo em que a página é gerada

18 mensagens neste tópico

Aqui vai mais um script feito por mim. Este script calcula em quanto tempo a página foi carregada fazendo a subtração das horas a que inicia a carregar a página com as horas que acaba.

<?php
//Coded by Skin.
//http://www.skin.fileplace.biz/php/
//Código da hora atual. Tem de ficar no inicio da pagina.
$InicioCarregar=date("H-i-s");
                             ?>
<?php
//Codigo da hora atual. Tem que ficar no fim da página.
$FimCarregar=date("H-i-s");
//A função segundos da o tempo de difrença entra horas, o que vai dar o tempo que demora a carregar a página.
$resultado=Segundos($InicioCarregar,$FimCarregar);

//Escreve os resultados na página.
echo "Pagina gerada em ".$resultado." segundos.";

function Segundos($horainicio,$horafim)
{
$horainicio=substr($horainicio,0,2);
$mininicio=substr($horainicio,3,2);
$seginicio=substr($horainicio,6,2);

$horafim=substr($horafim,0,2);
$minfim=substr($horafim,3,2);
$segfim=substr($horafim,6,2);

$inicio=((($horainicio*60)*60)+($mininicio*60)+$seginicio);
$fim=((($horafim*60)*60)+($minfim*60)+$segfim);
//agora calcula-se a difrença. E temos o tempo que demorou a gerar
$difrenca=$fim-$inicio;

return $difrenca;
}
?>

Espero que gostem e que vos seja util!  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pa, prefiro este, e mt + facil...

<?php
//no inicio do codigo
$init = time(); //devolve a data em segundos

//aqui vai o resto do codigo

$fim = time();

$res = $fim-$init;

$mos_res = date ("s", $date_auto);

echo "Página gerada em ".$mos_res." segundos.";
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Oh pa mas aquilo foi o que eu soube fazer :)! Eu estou ainda a "aprender" PHP, não me deites abaixo :D! tou no gozo tasse bem!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lool.

eu e ke tou memo a komecar, inda so fiz 4 ou 5 scripts so meus...

lool

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

skin, para comecar eh bom fazer este tipo de coisas...

mas ha que admitir que o teu codigo esta muito complicado para fazer uma coisa muito simples.... o que basicamente se traduz em ma eficiencia.

ousa navegar pelo manual do php e vais encontrar funcoes que te manipulam dados de 1001 formas com uma linha de codigo.

por exemplo usar a substr() aqui eh ma ideia.

eh muito mais eficaz usar a funcao date...

pa, n consideres isto deitar a baixo... sao criticas construtivas, mais "deitar acima" do que abaixo.

PS: o programa funciona... essse eh sempre o objectivo ultimo de qq programa... e o teu compriu-o, ha que nao esquecer isto acima de tudo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

skin, para comecar eh bom fazer este tipo de coisas...

mas ha que admitir que o teu codigo esta muito complicado para fazer uma coisa muito simples.... o que basicamente se traduz em ma eficiencia.

ousa navegar pelo manual do php e vais encontrar funcoes que te manipulam dados de 1001 formas com uma linha de codigo.

por exemplo usar a substr() aqui eh ma ideia.

eh muito mais eficaz usar a funcao date...

pa, n consideres isto deitar a baixo... sao criticas construtivas, mais "deitar acima" do que abaixo.

PS: o programa funciona... essse eh sempre o objectivo ultimo de qq programa... e o teu compriu-o, ha que nao esquecer isto acima de tudo.

Sim eu entendo. Pa proxima vou tentar ir pela forma mais fácil :P. O que eu fiz foi uma questão de lógica se repararem daí o ser simples...!

Obrigado pelas criticas construtivas porque é disso que um gajo precisa. Mais alguma coisa digam ;)!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu uso a função microtime() para isso...

$startTimer = microtime();
$startTtimer = explode(' ', $startTimer);
$startTimer = $startTimer[0] + $startTimer[1];

$endTimer = microtime();
$endTtimer = explode(' ', $endTimer);
$endTimer = $endTimer[0] + $endTimer[1];

echo round(($endTimer - $startTimer), 4);

só para partilhar a minha forma de fazer a coisa ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para este tipo de coisas é bastente melhor a utilização de microtime(), btw skin eu quando comecei a programar PHP tbm era assim, fazia grandes codigos para coisas que agora faço em meia duzia de linhas ;) com o tempo vai-se evoluindo  :smoke: keep the good work :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok! Eu vou fazer por isso, por diminuir o tamanho mantendo as funções pretendidas. Porque para a frente é que é o caminho, e a evolução faz parte dele.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu uso a função microtime() para isso...

$startTimer = microtime();
$startTtimer = explode(' ', $startTimer);
$startTimer = $startTimer[0] + $startTimer[1];

$endTimer = microtime();
$endTtimer = explode(' ', $endTimer);
$endTimer = $endTimer[0] + $endTimer[1];

echo round(($endTimer - $startTimer), 4);

só para partilhar a minha forma de fazer a coisa ;)

também uso essa... esse código já anda pela net a muito tempo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya, basicamente é o que toda a gente usa para fazer algo do genero... e foi a primeira cena que vi quando procurei por uma cena do genero ha uns anitos atras.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu uso esta:

$time_start = microtime(true);

(codigo)

$time_end = microtime(true);
$time = $time_end - $time_start;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu uso essa mas em modo de função

tenho no functions.php dos sites a função

function process_t() {
$temp = microtime();
$temp = explode(' ', $temp);
$temp = $temp[0] + $temp[1];
return $temp;
}

depois na pagina apenas meto

$time_start = process_t();

pag


$time_end = process_t();
$process = round($time_end - $time_start,4);

echo $process;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
$iTime = microtime(1);
echo 'Página gerada em '.round((microtime(1)-$iTime),4).' segundos';

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

$iTime = microtime(1);
echo 'Página gerada em '.round((microtime(1)-$iTime),4).' segundos';

Atenção porque isto só funciona em PHP5.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Atenção porque isto só funciona em PHP5.

Não sabia. Sempre usei PHP5. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora