PHP では、「header()」メソッドを使用してページのキャッシュを設定できます。構文は次のようになります。「header("Pragma:cache");$ExpStr = "Expires: ".gmdate」 ("D, d M Y H:i:s", ),GMT";"。
推奨: "PHP ビデオ チュートリアル "
php header() はページのキャッシュを設定します キャッシュ
phpではheader()関数が広く使われており、以下にそれを使ってページを実現する方法をいくつか紹介します。キャッシュを使用しますが、ヘッダーを使用する前に行う必要があります。ヘッダーの前にスペースを含む出力を置くことはできないことに注意してください。
マニュアルには、コードがキャッシュされないようにキャッシュを設定する方法について書かれています。コードは次のとおりです。
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // HTTP/1.1 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past header("Pragma: no-cache"); // Date in the past
また、設定時では、ヘッダーの前に出力がないことにも注意する必要があります。そうしないと、ヘッダー設定が無効になります。しかし、その方法については書いたことはありません。ページにキャッシュを設定する E-TAGなどの方法があることはわかっていますが、もちろん簡単な設定もあります 例えば出力する前にコンテンツをmd5してe-tagとして扱います変更しない限り影響はありません。他の方法もあります。コードは次のとおりです:
$seconds_to_cache = 3600; $ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT"; header("Expires: $ts"); header("Pragma: cache"); header("Cache-Control: max-age=$seconds_to_cache");
主に有効期限のために 1 時間キャッシュします。時刻は gmdate で設定する必要があります。日付. これに注意してください. 他はすべて同様です. maxage は期限切れと一致する必要があります.
PHP によって生成された動的コンテンツの場合、コンテンツを出力する前に強制キャッシュを出力するだけで済みます. ヘッダーだけで十分です. たとえば, 次のコードでは、ブラウザがファイルを 1 か月間キャッシュする必要があります。コードは次のとおりです:
<?php header("Cache-Control: public"); header("Pragma: cache"); $offset = 30*60*60*24; // cache 1 month $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT"; header($ExpStr); ?>
静的ファイルの場合、一般的なサーバーは第 3 レベルのキャッシュ状態をサポートしています。第 4 レベルに到達するには、キャッシュ効果を得る必要があります。 、以前の GZIP 圧縮のようなレイヤーをアウトソーシングするために PHP を使用し、それを処理するために PHP を使用するか、サーバー側のサポートが必要です。APACHE のモジュールである Mod_expires は、ファイルへの Expires ヘッダーの追加をサポートしています。次のコードをblogディレクトリの.htaccessファイルは、サーバにmod_expiresモジュールがインストールされていれば自動的に有効になります。画像等は1ヶ月間、HTML文書は10分間強制的にキャッシュされます。モジュールがインストールされていない場合は、エラーは発生しません。コードは次のとおりです:
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType application/x-shockwave-flash A2592000 ExpiresByType text/css A2592000 ExpiresByType application/x-javascript A2592000 ExpiresByType text/html A600 </IfModule>
ここでは、mod_expires の詳細なドキュメントとチュートリアルを参照してください。ただし、注意したいのは、mod_expires はほとんどのサーバーにインストールされていないということです。
以上がPHPでキャッシュ時間を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。