ホームページ php教程 php手册 PHP で header() 関数を使用してブラウザ キャッシュを設定するコード

PHP で header() 関数を使用してブラウザ キャッシュを設定するコード

Jun 13, 2016 pm 12:13 PM
header php コード 関数 利用 ブラウザ タイプ キャッシュ 設定

これには、次の 4 つのヘッダー タイプが含まれます。

Last-Modified (最終変更時刻)、
Pragma (コンパイル命令)。
最初の 3 つのヘッダーは HTTP1.0 標準に属します。 Last-Modified ヘッダーでは、UTC の日付と時刻の値が使用されます。キャッシュ システムは、Last-Modified 値がページのキャッシュされたバージョンよりも現在時刻に近いことを確認した場合、サーバーからの新しいバージョンを使用する必要があることを認識します。

Expires は、キャッシュされたバージョンの有効期限がいつ切れるか (GMT) を示します。これを以前の時刻に設定すると、サーバー上のページが強制的に使用されます。

プラグマは、ページ データの処理方法を定義します。次のようにページのキャッシュを回避できます:

header("Pragma:no-cache");

Cache-Co0ntrol ヘッダーは HTTP1.1 で追加され、より詳細な制御を実現できます。 (HTTP 1.0 ヘッダーも引き続き使用する必要があります)。次の表に示すように、キャッシュ制御には
多くの設定があります:

次の例では、header() を使用してブラウザのキャッシュを設定します。

指令 含义
public 可以在任何地方缓存
private 只能被浏览器缓存
no-cache 不能在任何地方缓存
must-revalidate 缓存必须检查更新版本
proxy-revalidate 代理缓存必须检查更新版本
max-age 内容能够被缓存的时期,以秒表示
s-maxage 覆盖共享缓存的max-age设置

コードをコピーします

コードは次のとおりです: <? php # Script 2.7 - view_tasks.php

// データベースに接続します:

$dbc = @mysqli_connect ('localhost', 'username', 'password', 'test') OR die ('<p> ;データベースに接続できませんでした!</p></body></html>');
// 最新の日付をタイムスタンプとして取得します:
$q = ' SELECT UNIX_TIMESTAMP(MAX( date_added)), UNIX_TIMESTAMP(MAX(date_completed)) FROM タスク';
$r = mysqli_query($dbc, $q)
list($max_a, $max_c) = mysqli_fetch_array r, MYSQLI_NUM);
// より大きいタイムスタンプを決定します:
$max = ($max_a > $max_c) ? $max_a : $max_c; // 秒単位でキャッシュ間隔を作成します。 >$interval = 60 * 60 * 6; // 6 時間
// ヘッダーを送信します:
header ("Last-Modified: " . gmdate ('r', $max)); ("有効期限: " . gmdate ("r", ($max $interval)));
ヘッダー ("キャッシュ制御: max-age=$interval");


1. データベースに接続後、データテーブル内の最新の日付値date_addedとdate_completedを取得し、UNIX_TIMESTAMP()関数を使用して戻り値を整数に変換し、最大値を取得して代入します。それを $max にします。
2. 適切なキャッシュ時間を定義します。



コードをコピー


コードは次のとおりです:

$interval=60*60*6 妥当 値はページ自体、訪問者数、ページの更新頻度によって決まります。上記のコードでは 6 時間です。 3. Last-Modified ヘッダーを送信します。



コードをコピー


コードは次のとおりです:

header("Last-Modified:".gmdate("r", ($max $interval))); gmdate() 関数がパラメーター「r」を使用すると、HTTP 仕様に従って対応する日付形式が返されます。 4. Expires ヘッダーを設定します。



コードをコピー


コードは次のとおりです:

header ("Expires: " . gmdate ("r", ($ max $interval ))); 5. Cache_Control ヘッダーを設定します。


コードをコピー

コードは次のとおりです:

header ("Cache-Control: max-age=$interval") ;

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

セサミオープンドア公式ウェブサイトセサミオープンドアアプリ最新のウェブサイト セサミオープンドア公式ウェブサイトセサミオープンドアアプリ最新のウェブサイト Feb 28, 2025 am 11:18 AM

セサミオープンドア公式ウェブサイトセサミオープンドアアプリ最新のウェブサイト

セサミオープンドア公式ウェブサイト入り口の最新バージョンの公式ウェブサイトリンクアドレス入り セサミオープンドア公式ウェブサイト入り口の最新バージョンの公式ウェブサイトリンクアドレス入り Feb 28, 2025 am 11:21 AM

セサミオープンドア公式ウェブサイト入り口の最新バージョンの公式ウェブサイトリンクアドレス入り

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

PHPでHTML/XMLを解析および処理するにはどうすればよいですか?

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

母音を文字列にカウントするPHPプログラム

gate.ioセサミドアダウンロード中国のチュートリアル gate.ioセサミドアダウンロード中国のチュートリアル Feb 28, 2025 am 10:54 AM

gate.ioセサミドアダウンロード中国のチュートリアル

セサミオープンドア交換公式ウェブサイトgate.io交換公式ウェブサイトの入り口 セサミオープンドア交換公式ウェブサイトgate.io交換公式ウェブサイトの入り口 Feb 28, 2025 am 10:45 AM

セサミオープンドア交換公式ウェブサイトgate.io交換公式ウェブサイトの入り口

See all articles