Как часто обновлять определенную веб-страницу с помощью PHP? - PullRequest
0 голосов
/ 19 мая 2010

Мне нужен PHP-скрипт, выполняющийся на моем сервере, чтобы часто запрашивать веб-страницу.

Я думал об использовании функции PHP header в сочетании с мета-тегом обновления, но это не сработает, потому что заголовок немедленно перенаправит на URL, а мета-обновление никогда не будет выполнено.

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

У кого-нибудь есть предложения, как это сделать, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Если вы хотите сделать это, используя только PHP, вам нужно немного изменить свое решение. Вместо того, чтобы отправлять заголовок HTTP Location:, перенаправляя пользователя со страницы, вам нужно загрузить удаленное содержимое в переменную самостоятельно, используя file_get_contents. Затем вы можете переписать все URL-адреса, вставить свой тег обновления в HTML-код и вывести его.

Гораздо более простым решением было бы создать iframe и настроить его для обновления с помощью JavaScript. Если хотите, я могу предоставить пример кода, просто спросите.

1 голос
/ 19 мая 2010

Если я правильно понимаю ваш вопрос, вы хотите автоматически обновлять страницу каждый раз после определенного времени ожидания.

Заголовок, сгенерированный кодом php, предназначен для прямого перенаправления на какой-либо URL, поэтому уберите его, потому что вы не сможете установить тайм-аут таким образом. Это клиент (то есть веб-браузер, который просматривает страницу) должен перезагрузить страницу через некоторое время, а не ваш веб-сервер. Поэтому сценарии на стороне сервера (такие как PHP) вам не помогут.

Клиент может быть проинструктирован перезагрузить страницу с помощью этого тега <META ...> или с использованием некоторого JavaScript:

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