Jak okresowo odświeżać stronę za pomocą PHP? Jeśli nie mogę tego zrobić przez PHP, jaki jest najlepiej zalecany scenariusz?
Jak okresowo odświeżać stronę za pomocą PHP? Jeśli nie mogę tego zrobić przez PHP, jaki jest najlepiej zalecany scenariusz?
Odpowiedzi:
Możesz to zrobić za pomocą PHP:
header("Refresh:0");
Odświeża twoją bieżącą stronę, a jeśli chcesz przekierować ją na inną stronę, użyj:
header("Refresh:0; url=page2.php");
W PHP możesz użyć:
$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");
Lub po prostu użyj JavaScript window.location.reload()
.
header("Location: ".$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF']
prawdziwą ścieżkę skryptu, a nie rzeczywisty adres URL, który widzisz w przeglądarce. W takim przypadku spróbuj użyć $_SERVER['REQUEST_URI']
zamiast tego.
Znalazłem dwa sposoby na odświeżenie zawartości PHP:
1. Za pomocą meta
tagu HTML :
echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'
2. Korzystanie z częstotliwości odświeżania 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
również to wygląda na odpowiedź skopiowaną z góry.
Oprócz wszystkich sposobów odświeżania strony w PHP, strona zostanie również odświeżona za pomocą następującego metatagu HTML:
<meta http-equiv="refresh" content="5">
Zobacz Odświeżanie meta - „automatycznie odśwież bieżącą stronę internetową lub ramkę po określonym przedziale czasu”
Możesz ustawić czas w content
wartości.
content
równą dowolną wartość w ciągu kilku sekund - mój komentarz nadal jest wart odnotowania, że odświeżanie 0 sekund prawdopodobnie nie jest tym, do czego zmierzasz :)
header('Location: .');
wydaje się, że odświeża stronę w Chrome, Firefox, Edge i Internet Explorer 11.
Nie możesz tego zrobić w PHP . Po załadowaniu strony PHP umiera i wymyka się spod kontroli.
Masz kilka opcji:
<meta http-equiv="refresh" content="5">
Myślę, że metatag odświeżania jest najłatwiejszy i najwygodniejszy.
Możesz odświeżyć za pomocą JavaScript. Zamiast pełnego odświeżania strony możesz odświeżyć zawartość w elemencie div. Następnie za pomocą JavaScript możesz odświeżyć tylko ten konkretny element div i działa to szybciej niż pełne odświeżenie strony.
PHP jest językiem po stronie serwera, więc nie możesz odświeżyć strony za pomocą PHP, ale JavaScript jest najlepszą opcją odświeżenia strony:
location.reload();
Metoda reload () wizyty Location Location .
Powtórz meta
tag w ten sposób:
Adres URL to ten, do którego należy przekierować stronę po odświeżeniu.
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
Dodanie tego metatagu w PHP może pomóc:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
Jedna sztuczka polega na dodaniu losowej liczby na końcu adresu URL. W ten sposób nie musisz za każdym razem zmieniać nazwy pliku. Na przykład:
echo "<img src='temp.jpg?r=3892384947438'>"
Przeglądarka nie zapisze go w pamięci podręcznej, jeśli losowa liczba jest inna, ale serwer sieciowy ją zignoruje.