¿Estamos hablando de sincronización (se encuentra con una situación en la que desea actualizar durante el análisis de su script php) refrehs (meta actualización funcionaría bien) o sobre actualización continua asincrónica de una página (más como javascript / ajax)?
Najzero
Respuestas:
275
Puedes hacerlo con PHP:
header("Refresh:0");
Actualiza su página actual y, si necesita redirigirla a otra página, use lo siguiente:
Actualizar no es un encabezado oficial, pero es compatible con muchos navegadores desde Netscape Navigator. Eso significa que tendrá que realizar una prueba para asegurarse de que su audiencia utilice navegadores compatibles.
Patanjali
55
El uso de 0 martillará continuamente su servidor y / o su caché local, especialmente si tiene imágenes en la página. Si solo necesita actualizar la información en la pantalla, como los precios de las acciones, pero no usa esa información en un formulario o desde JavaScript, tal vez use una etiqueta de iframe que apunte a una página con solo la información que se está actualizando, y con un retraso apropiado de cómo actual la información debe ser.
El encabezado de Yazana ('Ubicación:') se usa para redirigir al usuario a cualquier url, no puede actualizar la página usándolo.
Patriks
2
Pratik Está usted equivocado. de hecho, puede usar el encabezado ("refresh:") para actualizar una página
131
66
Puede hacer ambas cosas, aunque prefiero no esperar con:header("Location: ".$_SERVER['PHP_SELF']);
John Magnolia
44
Una nota sobre esta solución: si su sitio está implementando algún tipo de enrutamiento agradable o reescritura de URL (es decir, casi cualquier marco por defecto), puede encontrar $_SERVER['PHP_SELF']la verdadera ruta del script, y no la URL real que ve en su navegador. En cuyo caso, intente usar en su $_SERVER['REQUEST_URI']lugar.
BadHorsie
18
Seguro que puedes actualizar una página periódicamente usando PHP:
esto se actualizará cada 0 segundos, probablemente no es lo que buscas :)
warren
3
Sí, estoy comentando esta respuesta: siempre hay margen de mejora. Y tiene razón, puede establecer contentun valor igual a cualquier valor en segundos: mi comentario todavía vale la pena señalar que una actualización de 0 segundos probablemente no sea lo que está buscando :)
warren
2
@Mathlight y cualquier otra persona se queja de comentarios retrasados. Solo porque haya seguido adelante, un futuro lector puede haber experimentado el problema, y su respuesta / comentario, junto con los retrasados que lo cuestionen, aún puede ser relevante para ellos.
Patanjali
1
@Mathlight No estoy seguro de por qué la gente piensa que solo porque una publicación sea antigua no puede tener ningún valor comentarla. Deberías deshacerte de ese pensamiento.
Mark Kramer
¿Qué quiere decir con "Construir en la declaración if de" ?
Peter Mortensen
2
header('Location: .'); parece actualizar la página en Chrome, Firefox, Edge e Internet Explorer 11.
Como debería (una vez): php.net/manual/en/function.header.php : "El segundo caso especial es el encabezado" Ubicación: ". No solo devuelve este encabezado al navegador, sino que también devuelve un código de estado REDIRECCIONAR (302) al navegador a menos que el código de estado 201 o 3xx ya se haya configurado ".
Sz.
Pero eso no es lo que pidió el OP. Todavía lo voté porque me di cuenta de eso solo después, lo siento. ¡Es Navidad pronto! :)
Sz.
1
No puedes hacerlo en PHP . Una vez que se carga la página, PHP muere y está fuera de control.
Incorrecto, puede actualizar una página periódicamente utilizando PHP, si utiliza la función de encabezado de PHP como esta: header ("refresh: 3;");
131
1
Puede actualizar una página en PHP usando el encabezado. Además, usar META REFRESH NO es ideal para SEO.
TheCarver
1
Creo que esto está mal, siempre hay una manera: creo que si quiere actualizar la página con php después de un tiempo, puede enviar una solicitud ajax a una página que tenga el código de actualización de php. pero en absoluto tu respuesta es buena
Mohammad Kermani
2
Incorrecto ! Por favor, arregle su respuesta ... De hecho, esto se puede hacer con PHP
M_R_K
1
¡Esto está completamente mal! De todas las formas posibles. Puede hacerse por PHP, por encabezados (actualización) y por redireccionamientos activados. Parece que todas las otras respuestas son mejores.
Budimir Grom
1
Puedes actualizar usando JavaScript. En lugar de la actualización completa de la página, puede proporcionar los contenidos para que se actualicen en un div. Luego, al usar JavaScript, puede actualizar ese div en particular solamente, y funciona más rápido que la actualización completa de la página.
Si incluye el código, esta respuesta podría ser un poco más comprensible.
I.Am.A.Guy
1
PHP es un lenguaje del lado del servidor, por lo que no puede actualizar la página con PHP, pero JavaScript es la mejor opción para actualizar la página:
Jajajaja ok entonces, como desees. Mira esto => ( wrongDomain.epl.fanxt.com ) no especificó que actualizará la página 'después' de que esté cargada. Si la decisión de actualizar se tomó durante la ejecución del código php, entonces php ciertamente puede actualizar, y puede elegir después de cuántos segundos actualizar.
Mohammed Joraid
@ Ahmad, no puedes considerarlo como una característica de PHP, es una característica de HTML. Entonces, en el orden que está haciendo, configure el encabezado de respuesta html. Y es por eso que dije que no puedes hacerlo con PHP. Otra cosa, no puede actualizar la página después de cargar / cuando sea necesario. Sí, puede configurarlo durante algunos segundos o etc. tal como respondió.
Patriks
oh los tecnicismos. ¿Crees que es posible usar el encabezado para actualizar una imagen específica? Eso es si transmites la imagen a través del php de grueso.
EZFrag
Realmente @EZFrag, no sé, ¿puedes decirme cómo es posible?
Patriks
Ah sí, lo encontré. Al principio probé una etiqueta de imagen normal. Sin suerte. Pero luego reemplacé la etiqueta de imagen con la etiqueta de iframe y listo. La imagen se actualiza automáticamente. Esto va a ayudar mucho con algunas de mis imágenes de estado en la página :) Para aquellos que se preguntan, estoy sirviendo la imagen a través de php junto con el encabezado de actualización, configurando el archivo php como el src del iframe.
EZFrag
1
Echo la metaetiqueta así:
La URL es aquella a la que se debe redirigir la página después de la actualización.
Si bien este fragmento de código puede resolver la pregunta, incluir una explicación realmente ayuda a mejorar la calidad de su publicación. Recuerde que está respondiendo la pregunta para los lectores en el futuro, y que esas personas podrían no conocer los motivos de su sugerencia de código.
DimaSan
Pero la pregunta no es acerca de la redirección. Se trata de actualizar.
Peter Mortensen
0
Un truco es agregar un número aleatorio al final de la URL. De esa manera no tiene que cambiar el nombre del archivo cada vez. P.ej:
echo "<img src='temp.jpg?r=3892384947438'>"
El navegador no lo almacenará en caché mientras el número aleatorio sea diferente, pero el servidor web lo ignorará.
Respuestas:
Puedes hacerlo con PHP:
Actualiza su página actual y, si necesita redirigirla a otra página, use lo siguiente:
fuente
header();
En PHP puedes usar:
O simplemente use JavaScript
window.location.reload()
.fuente
header("Location: ".$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF']
la verdadera ruta del script, y no la URL real que ve en su navegador. En cuyo caso, intente usar en su$_SERVER['REQUEST_URI']
lugar.Seguro que puedes actualizar una página periódicamente usando PHP:
Esto actualizará la página cada tres segundos.
fuente
Eso es simplemente posible con header () en PHP:
fuente
He encontrado dos formas de actualizar el contenido de PHP:
1. Usando la
meta
etiqueta HTML :2. Usando la frecuencia de actualización de PHP:
fuente
//Refresh by HTTP META
=>// Refresh by HTML META
también esto parece una respuesta copiada desde arriba.Además de todas las formas de PHP para actualizar una página, la página también se actualizará con la siguiente metaetiqueta HTML:
Consulte Meta actualización : "actualiza automáticamente la página web o el marco actual después de un intervalo de tiempo determinado"
Puede establecer el tiempo dentro del
content
valor.fuente
content
un valor igual a cualquier valor en segundos: mi comentario todavía vale la pena señalar que una actualización de 0 segundos probablemente no sea lo que está buscando :)header('Location: .');
parece actualizar la página en Chrome, Firefox, Edge e Internet Explorer 11.fuente
No puedes hacerlo en PHP . Una vez que se carga la página, PHP muere y está fuera de control.
Tienes pocas opciones:
<meta http-equiv="refresh" content="5">
Creo que la metaetiqueta de actualización es la más fácil y conveniente.
fuente
Puedes actualizar usando JavaScript. En lugar de la actualización completa de la página, puede proporcionar los contenidos para que se actualicen en un div. Luego, al usar JavaScript, puede actualizar ese div en particular solamente, y funciona más rápido que la actualización completa de la página.
fuente
PHP es un lenguaje del lado del servidor, por lo que no puede actualizar la página con PHP, pero JavaScript es la mejor opción para actualizar la página:
La visita Ubicación método reload () .
fuente
Echo la
meta
etiqueta así:La URL es aquella a la que se debe redirigir la página después de la actualización.
fuente
Agregar esta metaetiqueta en PHP podría ayudar:
fuente
Un truco es agregar un número aleatorio al final de la URL. De esa manera no tiene que cambiar el nombre del archivo cada vez. P.ej:
El navegador no lo almacenará en caché mientras el número aleatorio sea diferente, pero el servidor web lo ignorará.
fuente