ホームページ >バックエンド開発 >PHPチュートリアル >PHP キャッシュ ファイル エントリ プログラム_PHP チュートリアル
class PageCache {
/**
* @var string $file キャッシュファイルアドレス
* @access public
*/
public $file;
/**
* @var int $cacheTime キャッシュ時間
* @access public
*/
public $cacheTime = 3600;
/**
* コンストラクター
* @param string $file キャッシュファイルアドレス
* @param int $cacheTime キャッシュ時間
*/
function __construct( $file, $cacheTime = 3600) {
$this->file = $file;
$this->cacheTime = $cacheTime;
}
/**
* キャッシュ内容を取得します
* @param bool 直接出力するかどうか、キャッシュページに直接移動する場合は true、キャッシュ内容を返す場合は false
* @returnmixed
*/
public function get($output = true) {
if (is_file($this->file) && (time()-filemtime($this->file))<=$this->cacheTime && !$_GET['nocache'] ) {
if ($output) {
header('location:' . $this->file);
exit;
} else {
return file_get_contents($this->file);
}
} else {
return false;
}
}
/**
* キャッシュコンテンツを設定します
* @param $content content HTML 文字列
*/
public function set($content) {
$fp = fopen($this->file, 'w');
fwrite($fp , $content);
fclose($fp);
}
}