Перезагрузка страницы через php

Обновить страницу с помощью PHP

Как я могу периодически обновлять страницу с помощью PHP? Если я не могу сделать это с помощью PHP, каков наилучший рекомендуемый сценарий?

мы говорим о синхронизации (вы сталкиваетесь с ситуацией, когда вы хотите обновить во время анализа вашего php-скрипта) refrehs (мета-обновление будет работать нормально) или об асинхронном непрерывном обновлении страницы (больше похоже на javascript / ajax)?

13 ответов

Вы можете сделать это с помощью PHP:

Он обновляет текущую страницу, и если вам нужно перенаправить ее на другую страницу, используйте следующую команду:

header("Refresh:0; url=page2.php"); 

Обновить не является официальным заголовком, но поддерживается многими браузерами, начиная с Netscape Navigator. Это означает, что вам придется проверить, чтобы убедиться, что ваша аудитория использует поддерживающие браузеры.

Использование 0 будет постоянно забивать ваш сервер и / или локальный кеш, особенно если у вас есть изображения на странице. Если вам нужно только обновить информацию на экране, например, цены на акции, но не использовать эту информацию в форме или из javascript, возможно, используйте тег iframe, указывающий на страницу только с обновляемой информацией, и с задержкой, соответствующей тому, как актуальная информация должна быть.

В PHP вы можете использовать:

$page = $_SERVER['PHP_SELF']; $sec = "10"; header("Refresh: $sec; url=$page"); 

Или просто используйте JavaScript window.location.reload() .

Читайте также:  Упорядочить по алфавиту массив php

Заголовок Yazana (‘Location:’) используется для перенаправления пользователя на любой URL, вы не можете обновить страницу, используя его.

Pratik. Вы неправы. вы действительно можете использовать заголовок («refresh:»), чтобы обновить страницу

Вы можете сделать и то и другое, хотя я предпочитаю не ждать времени с: header(«Location: «.$_SERVER[‘PHP_SELF’]);

Примечание об этом решении: если на вашем сайте реализована какая-то приятная маршрутизация или перезапись URL (т. $_SERVER[‘PHP_SELF’] Практически любая инфраструктура по умолчанию), вы можете обнаружить, что $_SERVER[‘PHP_SELF’] дает вам истинный путь к сценарию, а не фактический URL, который вы $_SERVER[‘PHP_SELF’] увидеть в вашем браузере. В этом случае попробуйте использовать $_SERVER[‘REQUEST_URI’] .

что просто возможно с заголовком() в php

header('Refresh: 1; url=index.php'); 

Вы можете периодически обновлять страницу с помощью PHP:

Это обновит страницу каждые три секунды.

Создайте инструкцию if . Если требуется обновление, echo:

Как указано в @warren, приведенный выше код немедленно обновит страницу. Вы можете установить время с помощью content vall

да, я комментирую этот ответ: всегда есть возможности для улучшения. И вы правы, вы можете установить content равным любому значению в секундах — мой комментарий все же стоит отметить, что обновление 0 секунд, вероятно, не то, что вы собираетесь 🙂

@Mathlight и кто-либо еще жалуется на задержку комментариев. Просто потому, что вы, возможно, пошли дальше, будущий читатель, возможно, только что столкнулся с проблемой, и ваш ответ / комментарий, наряду с любыми задержанными, оспаривающими его, все же может иметь отношение к ним.

@Mathlight Я не уверен, почему люди думают, что только потому, что пост старый, не может быть никакого смысла комментировать его. Вы должны избавиться от этого мышления.

Я нашел 2 способа обновления содержимого PHP:

1. Использование HTML META:

echo(""); //Refresh by HTTP META 

2. Использование PHP REFRESH RATE:

$delay=0; //Where 0 is an example of time Delay you can use 5 for 5 seconds for example ! header("Refresh: $delay;"); 

//Refresh by HTTP META => // Refresh by HTML META также это выглядит как ответ, скопированный сверху.

Эхо метатег: URL-адрес — это тот, где страница должна быть перенаправлена ​​после обновления.

Вы не можете сделать это в PHP. После загрузки страницы PHP умирает и выходит из-под контроля.

У вас есть несколько вариантов:

Я думаю, что обновить метатег является самым простым и удобным.

Неправильно, вы можете периодически обновлять страницу, используя PHP, если вы используете функцию заголовка PHP следующим образом: header («refresh: 3;»);

Вы можете обновить страницу в PHP, используя заголовок. Кроме того, использование META REFRESH НЕ идеально для SEO.

Я думаю, что это неправильно, всегда есть способ: я думаю, что если он захочет обновить страницу с помощью php, то через некоторое время может отправить запрос ajax на страницу с кодом обновления php. но вообще твой ответ хорош

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

Это совершенно неправильно! Всеми возможными способами. Это может быть сделано с помощью PHP, заголовков (обновление) и с помощью инициируемых перенаправлений. Кажется, что все остальные ответы лучше.

header(‘Location: .’); похоже, обновляет страницу в Chrome, Firefox, Edge и IE 11.

Как и следует (один раз): php.net/manual/en/function.header.php : «Второй особый случай — заголовок« Location: ». Он не только отправляет этот заголовок обратно в браузер, но и возвращает REDIRECT (302) код состояния для браузера, если код состояния 201 или 3xx уже не установлен. «

Но это не то, о чем просил ОП. Я все еще проголосовал за это, потому что понял это только потом, извините. Это скоро Рождество! 🙂

Вы можете обновить с помощью JavaScript. Вместо полного обновления страницы вы можете обновить содержимое в div. Затем с помощью JavaScript вы можете обновить только этот единственный div, и он работает быстрее, чем полное обновление страницы.

PHP — это серверный язык, поэтому вы не можете обновлять страницу с помощью PHP, но JavaScript — лучший вариант для обновления страница:

Хахахах хорошо, тогда, как вы хотите. Проверьте это => ( неправильный домен.epl.fanxt.com ), он не указал, что обновит страницу «после» ее загрузки. Если решение об обновлении было принято во время выполнения кода php, то php, безусловно, может обновиться и может выбирать, через сколько секунд обновляться.

@Ahmad Ахмад, вы не можете рассматривать как особенность PHP, это особенность HTML. Таким образом, вы делаете это, устанавливая заголовок ответа html. И именно поэтому я сказал, что вы не можете сделать это с помощью PHP. Другое дело, вы не можете обновить страницу после загрузки / при необходимости. да, вы можете установить его на несколько секунд и т. д., как вы ответили.

о технических деталях Думаете, можно использовать заголовок для обновления определенного изображения? Это если вы потоковое изображение через php грубый.

Ах да, нашел это. Сначала я попробовал обычный тег изображения. Неудачно. Но затем я заменил тег изображения на тег iframe и вуаля. Изображение обновляется автоматически. Это очень поможет с некоторыми из моих изображений состояния страницы 🙂 Для тех, кому интересно, я передаю изображение через php вместе с заголовком обновления, устанавливая файл php в качестве источника iframe.

Опять же, вы не думаете, что заголовок «обновить» является функцией HTML? PHP просто передает изображение (в зависимости от статуса пользователя или чего-либо еще), оно не обновляет страницу, HTML-заголовок (обновление) сообщает браузеру, что он должен обновить содержимое через x раз.

Технически, PHP не может обновить страницу, но используя заголовок Refresh или метатег , как описано в другом месте, PHP может сказать браузеру отображать текущую страницу до истечения времени ожидания, а затем обновить страницу.

@Patriks Почему вы продолжаете использовать слово «технически», PHP не обновляет страницу. Хотя это серверный язык, но часть его функциональности включает тег заголовка, который он использует для управления заголовком html. Как вы думаете, что происходит с javascript, когда вы используете код window.location, библиотека javascript использует команду для управления заголовком html. Поэтому, если вы продолжаете говорить, что технически PHP не обновляет страницу, вы также можете сказать, что JavaScript не обновляет, и вы оба ошибаетесь. Это командная строка в указанном теге, которая управляет заголовком, поэтому технически она обновляет страницу.

Один трюк заключается в том, чтобы добавить случайное число в конец URL-адреса, так что вам не нужно каждый раз переименовывать файл. Например:.

echo "" 

Браузер не будет кэшировать его, пока случайное число отличается, но веб-сервер игнорирует его.

Источник

Обновить страницу с помощью JS / HTML / PHP

JS -метод location.reload() перезагружает текущую вкладку браузера и действует также как кнопка «Обновить страницу».

Пример перезагрузки страницы кликом на ссылку или кнопку:

Цикличное обновление страницы с задержкой

В коде используется тот же location.reload() выполняемый с задержкой setTimeout() в тридцать секунд.

Перезагрузка страницы с задержкой

В случаях когда после клика на кнопку или ссылку нужно перезагрузить страницу с задержкой, например две секунды:

 Обновить страницу через 2 секунды  

Пример:

Перезагрузка страницы с подтверждением

Чтобы пользователь мог подтвердить действие, можно применить метод вызова диалогового сообщения confirm.

if (confirm('Вы действительно хотите обновить страницу?'))

Пример:

Обновление родительской страницы из IFrame

Для обращения к ресурсам родительской страницы из IFrame используется объект parent , подробнее в статье «Как обновить iframe».

Перезагрузка страницы с помощью HTML

Добавление мета-тега в страницы заставит её перезагрузится. Значение атрибута content больше нуля задает задержку в секундах.

Перезагрузка страницы из PHP

Обновить страницу прямо с сервера можно c помощью функции header() , отправив заголовок « Refresh: 5 », где значение «5» указывает интервал в пять секунд.

Важно, чтобы перед вызовом функции не было отправки контента в браузер, например echo .

Источник

Refresh or Redirect a Page using PHP, With Examples

PHP Refresh Page

This article will show you how to refresh a web page in the browser using the PHP programming language.

It’s sometimes necessary to set a page to reload automatically, usually at some interval, to keep the page updated with changing information.

For example, you may have a scoreboard application that is displayed in a web browser on a projector and wish to have it periodically refresh to keep the displayed scores up to date with those stored.

Periodic refreshing is also used to redirect to a different page at a given interval, which could be used to emulate slideshow functionality for digital signage.

Refreshing the Page Using PHP

The PHP header function is used to set HTTP request headers – bits of information invisible to the end-user which tell the web browser about the data it is receiving.

The Refresh header tells the browser to refresh the page after a given number of seconds:

Above, the page is refreshed immediately, as 0 seconds is specified. To refresh after 3 seconds, you would use:

The Refresh header is not an official specification – most if not all browsers do heed it, but it is worth testing with your intended audience.

Redirecting to a Different Address Using PHP

The Refresh header also accepts an optional url if you wish to redirect to another page:

header("Refresh:0; url=another-page.php");

Above, when the PHP is executed during page load, it will immediately redirect to the another-page.php. Any kind of URL can be supplied – it doesn’t have to be a local file on your server.

It Could be Better to use JavaScript

Refreshing the page using PHP can be less than ideal. The user will have no interaction or ability to interrupt the refresh request, and you cannot perform any client-side operations as they may take longer than you expect – meaning your page is refreshed before tasks are complete and unexpected behavior may result.

It could be better to use JavaScript for this task – we’ve covered it in the below article.

Refreshing is a client-side operation. JavaScript is the client-side scripting language used by web browsers, so it can be better to do it this way rather than using server-side PHP to dictate what the client should do.

PHP might be preferable if you want search spiders such as Googlebot to crawl your redirects easily.

Источник

Оцените статью