estamos falando de sincronização (você encontra uma situação em que deseja atualizar durante a análise do script php) refrehs (a atualização meta funcionaria bem) ou sobre a atualização contínua assíncrona de uma página (mais como javascript / ajax)?
Najzero 12/09
Respostas:
275
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:
A atualização não é um cabeçalho oficial, mas é suportado por muitos navegadores desde o Netscape Navigator. Isso significa que você terá que testar para garantir que seu público use navegadores de suporte.
Patanjali
5
Usar 0 martelará continuamente seu servidor e / ou seu cache local, especialmente se você tiver imagens na página. Se você precisar atualizar apenas as informações na tela, como preços das ações, mas não usá-las em um formulário ou em javascript, talvez use uma tag iframe apontando para uma página com apenas as informações atualizadas e com um atraso apropriado para como atual a informação deve estar.
O cabeçalho Yazana ('Localização:') é usado para redirecionar o usuário para qualquer URL, não é possível atualizar a página usando-o.
Patriks
2
Pratik. Você está errado. você pode realmente usar o cabeçalho ("refresh:") para atualizar uma página
131
6
Você pode fazer as duas coisas, embora eu prefira sem tempo de espera com:header("Location: ".$_SERVER['PHP_SELF']);
John Magnolia
4
Uma observação sobre esta solução: Se o seu site estiver implementando algum tipo de roteamento agradável ou reescrita de URL (ou seja, quase qualquer estrutura por padrão), você encontrará $_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'].
BadHorsie
18
Você pode atualizar uma página periodicamente usando PHP:
esta será atualizada a cada 0 segundos - provavelmente não o que você está indo para :)
Warren
3
sim, estou comentando esta resposta: sempre há espaço para melhorias. E você está certo, você pode definir contentigual 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 :)
Warren
2
@ Mathlight e quem mais reclama de comentários atrasados. Só porque você seguiu em frente, um leitor futuro pode ter acabado de experimentar o problema, e sua resposta / comentário, juntamente com os que estão atrasando o desafio, ainda podem ser relevantes para eles.
Patanjali 23/10
1
@ Mathlight Eu não sei por que as pessoas pensam que só porque uma postagem é antiga, não pode haver valor em comentar sobre ela. Você deve se desfazer desse pensamento.
Mark Kramer
O que você quer dizer com "Construir na declaração if de" ?
Peter Mortensen
2
header('Location: .'); parece atualizar a página no Chrome, Firefox, Edge e Internet Explorer 11.
Como deveria (uma vez): php.net/manual/en/function.header.php : "O segundo caso especial é o cabeçalho" Location: ". Ele não apenas envia esse cabeçalho de volta ao navegador, mas também retorna um código de status REDIRECIONAR (302) para o navegador, a menos que o código de status 201 ou 3xx já tenha sido definido. "
Sz.
Mas não foi isso que o OP pediu. Eu ainda votei, porque percebi que só depois, desculpe. É Natal em breve! :)
Sz.
1
Você não pode fazer isso em PHP . Depois que a página é carregada, o PHP morre e fica fora de controle.
Errado, você pode atualizar uma página periodicamente usando PHP, se você usar a função de cabeçalho do PHP assim: header ("refresh: 3;");
131
1
Você pode atualizar uma página no PHP usando o cabeçalho. Além disso, o uso do META REFRESH NÃO é ideal para SEO.
TheCarver
1
Eu acho que isso está errado, sempre há uma maneira: eu acho que se ele quiser atualizar a página com php depois de algum tempo pode enviar uma solicitação ajax para uma página que tenha o código de atualização php. mas em tudo sua resposta é boa
Mohammad Kermani
2
Errado! Corrija sua resposta ... Na verdade isso pode ser feito com PHP
M_R_K
1
Isso está completamente errado! De todas as maneiras possíveis. Isso pode ser feito pelo PHP, por cabeçalhos (atualização) e por redirecionamentos acionados. Parece que todas as outras respostas são melhores.
Budimir Grom 21/02
1
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.
Se você incluir o código, esta resposta poderá ser um pouco mais compreensível.
I.Am.A.Guy
1
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:
Hahahah ok então, como você deseja. Verifique isso => ( wrongDomain.epl.fanxt.com ), ele não especificou que atualizará a página 'depois' de ser carregada. Se a decisão de atualizar foi tomada durante a execução do código php, o php certamente pode atualizar e pode escolher depois de quantos segundos para atualizar.
Mohammed Joraid 15/02
@ Ahmad, você não pode considerar como um recurso do PHP, é um recurso do HTML. Então, na classificação que você está fazendo, definindo o cabeçalho de resposta html. E foi por isso que eu disse que você não pode fazer isso com PHP. Outra coisa, você não pode atualizar a página após o carregamento / quando necessário. Sim, você pode configurá-lo por alguns segundos ou etc, como você respondeu.
Patriks
ah, os detalhes técnicos. Acha que é possível usar o cabeçalho para atualizar uma imagem específica? Ou seja, se você transmitir a imagem através do php de grosso.
EZFrag
Realmente @EZFrag, eu não sei, você pode me dizer como isso é possível?
Patriks
Ah sim, encontrei. No começo, tentei uma marca de imagem normal. Sem sorte. Mas então substituí a tag de imagem pela tag iframe e pronto. A imagem é atualizada automaticamente. Isso vai ajudar muito em algumas das minhas imagens de status na página :) Para quem está se perguntando, eu estou servindo a imagem via php junto com o cabeçalho de atualização, definindo o arquivo php como o src do iframe.
EZFrag
1
Faça eco da metatag assim:
URL é aquele para o qual a página deve ser redirecionada após a atualização.
Embora esse trecho de código possa resolver a questão, incluir uma explicação realmente ajuda a melhorar a qualidade da sua postagem. Lembre-se de que você está respondendo à pergunta dos leitores no futuro e essas pessoas podem não saber os motivos da sua sugestão de código.
DimaSan
Mas a questão não é sobre redirecionamento. É sobre atualização.
Peter Mortensen
0
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á.
Respostas:
Você pode fazer isso com PHP:
Ele atualiza sua página atual e, se você precisar redirecioná-la para outra página, use o seguinte:
fonte
header();
No PHP você pode usar:
Ou apenas use JavaScript
window.location.reload()
.fonte
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']
.Você pode atualizar uma página periodicamente usando PHP:
Isso atualizará a página a cada três segundos.
fonte
Isso é simplesmente possível com o header () no PHP:
fonte
Encontrei duas maneiras de atualizar o conteúdo do PHP:
1. Usando a
meta
tag HTML :2. Usando a taxa de atualização do PHP:
fonte
//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:
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.fonte
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.fonte
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.
fonte
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.
fonte
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:
O método Visit reload () da localização .
fonte
Faça eco da
meta
tag assim:URL é aquele para o qual a página deve ser redirecionada após a atualização.
fonte
Adicionar esta meta tag no PHP pode ajudar:
fonte
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:
O navegador não o armazenará em cache enquanto o número aleatório for diferente, mas o servidor da Web o ignorará.
fonte