PHP でページを更新する

Subodh Poudel 2023年1月30日
PHP
  1. PHP で header() 関数を使用してページを定期的に更新する
  2. HTML の meta タグを使って、PHP でページを定期的に更新する
  3. JavaScript 関数 location.reload() を使ってページを定期的に更新する
PHP でページを更新する

PHP の Refresh ヘッダーを使用してページを更新する方法を紹介します。このメソッドを使用して、ページを更新する時間間隔を定義できます。

PHP の HTML meta タグを使用してページを更新する別の方法を示します。この方法は、ページを更新するための遅延時間を定義するという点で、最初の方法と似ています。

ここでは、JavaScript の location.reload() 関数を使ってページを更新する方法の例を示します。この関数を PHP スクリプトで使用します。

PHP で header() 関数を使用してページを定期的に更新する

header() 関数を使用して、PHP でページを更新できます。header() 関数内に Refresh ヘッダーを記述し、ページを更新する時間間隔を指定します。たとえば、header() 関数を記述し、1 秒の時間間隔を header("Refresh:1") として指定します。2 行目で、date() 関数を使用して現在の日付と時刻を表示します。文字 HisYm、および d を使用して、それぞれ時、分、秒、年、月、および日を表します。date() 関数内でこの形式を使用します。header() 関数については、PHP マニュアルを確認してください。

以下の例では、現在の時刻を 1 秒で更新します。その結果、現在の時刻がスクリプトによって Web ページに表示されます。コードの出力セクションには、インスタンスのみが表示されます。

サンプルコード:

# php 7.*
<?php
header("Refresh:1");
echo date('H:i:s Y-m-d');
?>

出力:

14:45:19 2021-04-14

HTML の meta タグを使って、PHP でページを定期的に更新する

HTML の meta タグを使用して、PHP でページを定期的に更新できます。meta タグの http-equiv 属性を refresh に設定し、content 属性で遅延時間を指定します。http_equiv 属性は、content 属性の値の HTTP ヘッダーを設定します。たとえば、meta タグを記述し、属性 http-equivrefresh に指定し、属性 content1 に指定して、タグを閉じます。上記のメソッドのように date() 関数を使用して現在の日付と時刻を表示します。メタリフレッシュについては、こちらを確認してください。

以下の例は、Web ページにリアルタイムの日付と時刻を表示します。ページは 1 秒で更新され、この機能が有効になります。コードの出力セクションには、時間のインスタンスのみが表示されます。

サンプルコード:

#php 7.x
<?php
echo("<meta http-equiv='refresh' content='1'>");
echo date('H:i:s Y-m-d');
?>

出力:

15:13:13 2021-04-14

JavaScript 関数 location.reload() を使ってページを定期的に更新する

JavaScript 関数 location.reload() を使用して、Web ページを更新できます。この関数は、PHP ファイルと同様に使用できます。PHP ファイルのコンテキストでは、script タグ内の location.reload() 関数をエコーし​​ます。この関数は、パラメーターとしてブール値を取ります。true 値はサーバーから Web ページを再読み込みしますが、false 値はブラウザのデータがキャッシュされた状態でページを再読み込みします。デフォルト値は false です。location.reload() 関数の詳細については、MSDN WebDocsを参照してください。

たとえば、PHP ファイルでは、date() 関数をエコーし​​て現在の日付と時刻を表示します。次に、script タグ内に関数 location.reload() を記述します。type 属性を tex/javascript として指定します。次に、echo ステートメントを使用して script タグを出力します。

コード例:

#php 7.x
<?php
echo date('H:i:s Y-m-d');
echo '<script type="text/JavaScript"> location.reload(); </script>';
?>

出力:

15:53:25 2021-04-14
著者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn