2010-05-19 7 views
0

J'ai besoin d'un script PHP exécuté sur mon serveur pour demander fréquemment une page Web.Comment rafraîchir fréquemment une page Web spécifique en utilisant PHP?

J'ai pensé à utiliser la fonction PHP header combinée avec une balise meta refresh, mais cela ne fonctionnera pas car l'en-tête redirigera vers l'URL immédiatement, et la méta-refresh ne sera jamais exécutée.

<?php 
header('Location: http://www.example.com/'); 
?> 
<html> 
<META HTTP-EQUIV=Refresh CONTENT="60"> 
</html> 

Est-ce que quelqu'un a des suggestions pour ce faire?

+0

Essayez-vous de déplacer l'utilisateur vers une autre page ou d'exécuter un script? – tylermac

+0

Qu'avez-vous besoin d'un tel script? –

+0

J'ai nettoyé votre question un peu pour aider à réduire les downvotes, j'espère que cela ne vous dérange pas. – Josh

Répondre

1

Si je comprends bien votre question, vous souhaitez actualiser automatiquement une page à chaque fois après un certain délai.

L'en-tête généré par le code php est destiné à rediriger directement vers une URL, alors sortez-le car vous ne pourrez pas définir un délai d'expiration de cette façon. C'est le client (c'est-à-dire le webbrowser qui visualise la page) qui doit recharger la page après un certain délai, pas votre serveur web. Les scripts côté serveur (comme PHP) ne vous aideront pas.

Le client peut être chargé de recharger la page en utilisant cette balise <META ...>, ou javascript:

<script type='text/javascript'> 
setTimeout(function() { 
    window.location.reload(true); 
}, 60000); // reload after 60 seconds 
</script> 
+0

Quelqu'un a downvoted toutes les réponses sur cette question ainsi que la question elle-même ... – Josh

+0

ouais, j'ai le même sentiment ... juste un peu troll. Que diriez-vous de nous remettre en question l'un l'autre;) – catchmeifyoutry

+0

@catchmeifyoutry: +1: Bien sûr, pourquoi pas? :-) – Josh

2

Si vous voulez faire cela en utilisant PHP seul, vous aurez besoin de changer votre solution un peu . Au lieu d'envoyer un en-tête HTTP Location:, en redirigeant l'utilisateur de la page, vous devrez charger le contenu distant dans une variable en utilisant file_get_contents. Ensuite, vous pouvez réécrire toutes les URL et injecter votre balise d'actualisation dans le code HTML, puis l'afficher.

Une solution beaucoup plus facile serait de faire un iframe et de le configurer pour être actualisé en utilisant JavaScript. Si vous aimez je pourrais fournir un échantillon de code, il suffit de demander.

Questions connexes