Contagem regressiva em PHP
Decidir criar uma contagem regressiva virtual para o dia que ternoma as aulas desse ano (20/12) quando um prefessor colocou uns desses painéis de contagem de tempo, só que manual, marcado na base do gizão de escrever em quadro negro.
O problema é que o negócio fica muito tempo sem atualizar e quando resolvem mexer, ninguém lembra mais quantos dicas estão realmente faltando.
O meu sonho de nerd, era fazer um painel digital, com circuitos integrados e leds de indicação, que fizessem a contagem automaticamente, tipo um placar de estádio ou algo assim, mas algumas diretrizes orçamentárias e temporais, impediram o andamento do projeto.
De qualquer forma, resolvi fazer um contador simples em PHP e compartilhar aqui no blog, já que eu não posto nada sobre PHP há muito tempo e vai que um dia isso possa vir a ser útil para alguma coisa… ou não!
Crie um arquivo chamado contador.php e comece:
### Sistema de Contagem Regressiva entre datas em PHP ###
// Declara o valor para o dia do evento em padrão inglês (ano-mês-dia).
$dia_evento = “2007-12-20″;
// Pega a data atual em padrão inglês (ano-mês-dia).
$dia_atual = date(“Y-m-d”);
// Transforma a data atual em padrão Unix Timestamp (segundos).
$atual_timestamp = strtotime($dia_atual);
// Transforma a data do evento em padrão Unix Timestamp (segundos).
$evento_timestamp = strtotime($dia_evento);
// Faz a subtração das datas em padrão Unix Timestamp.
$diferenca_datas = ($evento_timestamp – $atual_timestamp);
// Transforma Timestamp em dias, dividindo por 60(seg)x60(min)x24(hora) = 86400.
// Arredonda o valor usando a função round.
$contador = round($diferenca_datas / 86400);
// Imprime o resultado na tela, concatenando strings.
echo “Faltam ” . $contador . ” dias para o dia 15/12/2007!”;
?>
Claro que existem diversas outras maneiras de criar um contador desses, usando diferentes lingugens e métodos, mas neste caso fiz da forma mais didática e simples possível, para que todos pudessem entender.
Uma vantagem ao meu ver, de se trabalhar com tempo em PHP, ao contrário de outras linguagens como o Javascript, é que ele recebe a data do próprio servidor onde está hospedado, diferente do Javascript que pega a data do computador do usuário, ou seja, se o relógio do servidor estiver sempre correto, nunca haverão problemas com a data e a hora do script.