[PHP]キャッシュを無効にする

●PHP コードでキャッシュを無効にする。

<?php
//キャッシュ無効
header( ‘Expires: Thu, 01 Jan 1970 00:00:00 GMT’ );
header( ‘Last-Modified: ‘.gmdate( ‘D, d M Y H:i:s’ ).’ GMT’ );
// HTTP/1.1
header( ‘Cache-Control: no-store, no-cache, must-revalidate’ );
header( ‘Cache-Control: post-check=0, pre-check=0’, FALSE );
// HTTP/1.0
header( ‘Pragma: no-cache’ );
?>

●キャッシュのせいで、CSS や JavaScript が更新されないとき

ファイル名の後ろにパラメータを付けるのがよい (らしい)。

1. 次のような関数を用意。

(引数に “?” + ファイル更新日付時刻 を付加して返す)

function setParam($filename) {
if (file_exists($filename)) {
echo $filename . “?” . date(‘YmdHis’, filemtime($filename));
} else {
echo $filename;
}
}

2. これを PHPファイルの link タグ等で次のように呼び出す。

<link href=”<?php setParam(‘style.css’); ?>” rel=”stylesheet” type=”text/css”>

3. するとブラウザ上で次のように展開される。

<link href=”style.css?20170501185818″ rel=”stylesheet” type=”text/css”>

これで、CSS ファイルが更新されたとき、再読み込みされるようになる。

 

Follow me!

[PHP]キャッシュを無効にする” に対して 33,761 件のコメントがあります


    Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 31458176 bytes) in /home/avanju/avanju.com/public_html/system/wp/wp-includes/class-walker-comment.php on line 196