Comment actualiser périodiquement une page en utilisant PHP? Si je ne peux pas le faire par PHP, quel est le meilleur scénario recommandé?
Comment actualiser périodiquement une page en utilisant PHP? Si je ne peux pas le faire par PHP, quel est le meilleur scénario recommandé?
Réponses:
Vous pouvez le faire avec PHP:
header("Refresh:0");
Il actualise votre page actuelle et si vous devez la rediriger vers une autre page, utilisez ce qui suit:
header("Refresh:0; url=page2.php");
En PHP, vous pouvez utiliser:
$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");
Ou utilisez simplement JavaScript window.location.reload()
.
header("Location: ".$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF']
le vrai chemin du script, et non l'URL réelle que vous voyez dans votre navigateur. Dans ce cas, essayez d'utiliser à la $_SERVER['REQUEST_URI']
place.
J'ai trouvé deux façons d'actualiser le contenu PHP:
1. Utilisation de la meta
balise HTML :
echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'
2. Utilisation du taux de rafraîchissement 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
cela ressemble également à une réponse copiée d'en haut.
Outre toutes les méthodes PHP pour actualiser une page, la page sera également actualisée avec la balise meta HTML suivante:
<meta http-equiv="refresh" content="5">
Voir Meta refresh - "actualise automatiquement la page Web ou le cadre actuel après un intervalle de temps donné"
Vous pouvez définir l'heure dans la content
valeur.
content
une valeur égale à n'importe quelle valeur en secondes - mon commentaire vaut quand même la peine de noter qu'un rafraîchissement de 0 seconde n'est probablement pas ce que vous recherchez :)
header('Location: .');
semble actualiser la page dans Chrome, Firefox, Edge et Internet Explorer 11.
Vous ne pouvez pas le faire en PHP . Une fois la page chargée, PHP meurt et est hors de contrôle.
Vous avez quelques options:
<meta http-equiv="refresh" content="5">
Je pense que la balise meta d'actualisation est la plus simple et la plus pratique.
Vous pouvez actualiser à l'aide de JavaScript. Plutôt que l'actualisation complète de la page, vous pouvez donner le contenu à actualiser dans un div. Ensuite, en utilisant JavaScript, vous pouvez actualiser uniquement ce div particulier, et cela fonctionne plus rapidement que l'actualisation complète de la page.
PHP est un langage côté serveur, vous ne pouvez donc pas actualiser la page avec PHP, mais JavaScript est la meilleure option pour actualiser la page:
location.reload();
La méthode visit Location reload () .
Faites écho à la meta
balise comme ceci:
L'URL est celle vers laquelle la page doit être redirigée après l'actualisation.
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
L'ajout de cette balise meta en PHP peut aider:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
Une astuce consiste à ajouter un nombre aléatoire à la fin de l'URL. De cette façon, vous n'avez pas à renommer le fichier à chaque fois. Par exemple:
echo "<img src='temp.jpg?r=3892384947438'>"
Le navigateur ne le mettra pas en cache tant que le nombre aléatoire est différent, mais le serveur Web l'ignorera.