Como posso atualizar uma página usando PHP periodicamente? Se eu não puder fazer isso pelo PHP, qual é o melhor cenário recomendado?
Como posso atualizar uma página usando PHP periodicamente? Se eu não puder fazer isso pelo PHP, qual é o melhor cenário recomendado?
Respostas:
Você pode fazer isso com PHP:
header("Refresh:0");
Ele atualiza sua página atual e, se você precisar redirecioná-la para outra página, use o seguinte:
header("Refresh:0; url=page2.php");
No PHP você pode usar:
$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");
Ou apenas use JavaScript window.location.reload()
.
header("Location: ".$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF']
o caminho do script verdadeiro, e não o URL real que você vê no seu navegador. Nesse caso, tente usar $_SERVER['REQUEST_URI']
.
Encontrei duas maneiras de atualizar o conteúdo do PHP:
1. Usando a meta
tag HTML :
echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'
2. Usando a taxa de atualização do PHP:
$delay = 0; // Where 0 is an example of a time delay. You can use 5 for 5 seconds, for example!
header("Refresh: $delay;");
//Refresh by HTTP META
=> // Refresh by HTML META
também parece uma resposta copiada de cima.
Além de todas as maneiras PHP de atualizar uma página, a página também será atualizada com a seguinte metatag HTML:
<meta http-equiv="refresh" content="5">
Consulte Meta refresh - "atualize automaticamente a página da web ou o quadro atual após um determinado intervalo de tempo"
Você pode definir o tempo dentro do content
valor.
content
igual a qualquer valor em segundos - o meu comentário ainda vale a pena notar que uma atualização de 0 segundos não é provavelmente o que você está indo para :)
header('Location: .');
parece atualizar a página no Chrome, Firefox, Edge e Internet Explorer 11.
Você não pode fazer isso em PHP . Depois que a página é carregada, o PHP morre e fica fora de controle.
Você tem poucas opções:
<meta http-equiv="refresh" content="5">
Acho que a meta tag de atualização é a mais fácil e conveniente.
Você pode atualizar usando JavaScript. Em vez da atualização completa da página, você pode fornecer o conteúdo a ser atualizado em uma div. Então, usando JavaScript, você pode atualizar apenas essa div específica e funciona mais rápido que a atualização completa da página.
PHP é uma linguagem do lado do servidor; portanto, você não pode atualizar a página com PHP, mas o JavaScript é a melhor opção para atualizar a página:
location.reload();
Faça eco da meta
tag assim:
URL é aquele para o qual a página deve ser redirecionada após a atualização.
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
Adicionar esta meta tag no PHP pode ajudar:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
Um truque é adicionar um número aleatório ao final do URL. Dessa forma, você não precisa renomear o arquivo todas as vezes. Por exemplo:
echo "<img src='temp.jpg?r=3892384947438'>"
O navegador não o armazenará em cache enquanto o número aleatório for diferente, mas o servidor da Web o ignorará.