ホームページ バックエンド開発 PHPチュートリアル PHP キャッシュ クラス_PHP チュートリアル

PHP キャッシュ クラス_PHP チュートリアル

Jul 13, 2016 pm 05:43 PM
cache class dir li php 書類 目次 親切 キャッシュ

cache.inc.php:

クラスキャッシュ{
/**
* $dir: キャッシュファイル格納ディレクトリ
* $lifetime: キャッシュファイルの有効期間、単位は秒です
* $cacheid: ファイル名を含むキャッシュ ファイル パス
* $ext: キャッシュ ファイル拡張子 (オプション)、ファイルを表示する際の便宜のためにここで使用されます
*/
プライベート $dir;
プライベート $lifetime;
プライベート $cacheid;
プライベート $ext;
/**
* デストラクター、キャッシュディレクトリが有効かどうかを確認、デフォルトの割り当て
*/
function __construct($dir=,$lifetime=1800) {
if ($this->dir_isvalid($dir)) {
$this->dir = $dir;
$this->lifetime = $lifetime;
$this->ext = .Php;
$this->cacheid = $this->getcacheid();
}
}
/**
* キャッシュが有効かどうかを確認してください
*/
プライベート関数 isvalid() {
if (!file_exists($this->cacheid)) return false;
if (!(@$mtime = filemtime($this->cacheid))) return false;
if (mktime() - $mtime > $this->lifetime) return false;
true を返す;
}
/**
* ライトキャッシュ
* $mode == 0、ブラウザキャッシュを通じてページコンテンツを取得します
* $mode == 1、直接割り当てを通じてページコンテンツを取得します ($content パラメーターを通じて受信)
* $mode == 2、ローカルで読み込んでページコンテンツを取得(fopen ile_get_contents) (このメソッドは不要なようです)
*/
パブリック関数 write($mode=0,$content=) {
スイッチ ($mode) {
ケース0:
$content = ob_get_contents();
休憩;
デフォルト:
休憩;
}
ob_end_flush();
試してみましょう {
file_put_contents($this->cacheid,$content);
}
catch (例外 $e) {
$this->error(写入缓存失败!请检查目录权限!);
}
}
/**
* ロードキャッシュ
* exit() は、キャッシュをロードした後、元のページ プログラムの実行を終了します。キャッシュが無効な場合は、元のページ プログラムを実行してキャッシュを生成します
* ob_start() はブラウザのキャッシュをオンにして、ページの最後にあるページコンテンツを取得します
*/
パブリック関数load() {
if ($this->isvalid()) {
echo "これはキャッシュです。 ";
//以下两种方式、哪种方式好??????
require_once($this->cacheid);
//echo file_get_contents($this->cacheid);
exit();
}
else {
ob_start();
}
}
/**
* キャッシュをクリアします
*/
パブリック関数 clean() {
試してみましょう {
unlink($this->cacheid);
}
catch (例外 $e) {
$this->error(キャッシュ ファイルのクリアに失敗しました! ディレクトリのアクセス許可を確認してください!);
}
}
/**
* キャッシュファイルのパスを取得します
*/
プライベート関数 getcacheid() {
$this->dir.md5($this->geturl()).$this->ext;を返します
}
/**
* ディレクトリが存在するか、作成できるかを確認してください
*/
プライベート関数 dir_isvalid($dir) {
if (is_dir($dir)) は true を返します;
試してください{
mkdir($dir,0777);
}
catch (例外 $e) {
-$ This-& gt; エラー (設定キャッシュ ディレクトリが存在しないため、作成に失敗しました。ディレクトリ権限を確認してください!);
false を返します。
}
true を返します;
}
/**
* 現在のページの完全な URL を取得します
*/
プライベート関数 geturl() {
$url = ;
if (isset($_SERVER[REQUEST_URI])) {
$url = $_SERVER[REQUEST_URI];
}
その他 {
$url = $_SERVER[Php_SELF];
$url .= empty($_SERVER[QUERY_STRING])?:?.$_SERVER[QUERY_STRING];
}
$url を返します;
}
/**
* エラーメッセージを出力します
*/
プライベート関数エラー($str) {
echo
.$str.
;
}
}
?>
demo.php:
/*
* ご自由に転載してご利用いただけますので、著作権情報はお守りください、ご利用いただきありがとうございます
* クラス名: キャッシュ (Php5 用)
* バージョン : 1.0
* 説明: 動的キャッシュ クラス。ページを制御してキャッシュを自動的に生成し、キャッシュを呼び出し、キャッシュを更新し、キャッシュを削除するために使用されます。
* 著者 : jiangjun8528@163.com,Junin
* 著者ページ: http://blog.csdn.Net/sdts/
* 最終更新日 : 2007-8-22
* 備考:
1. このバージョンは Php5 バージョンです。Php4 バージョンはまだ作成していません。必要に応じて、自分で修正を参照してください (簡単です、そんなに面倒なことはしないでください (笑))。
2. このバージョンは utf-8 でエンコードされています。Web サイトが他のエンコードを使用している場合は、メモ帳を使用して開いて保存し、対応するエンコード (通常は ANSI) を選択してください。対応する編集ソフトウェアまたは iconv コマンド ラインを使用します。
3. コピー&ペーストする場合は、上記の項目 2 について心配する必要はありません。
* キャッシュに関するいくつかの考え:
* 移動
http://www.bkjia.com/PHPjc/486010.html
www.bkjia.com

tru​​e

技術記事 ache.inc.php: ?php class Cache { /** * $dir: キャッシュ ファイルの保存ディレクトリ* $lifetime: キャッシュ ファイルの有効期間 (秒)* $cacheid: キャッシュ ファイルのパス (ファイル名を含む)* $ext: キャッシュ。 ..
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++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

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

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

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP サービス CakePHP サービス Sep 10, 2024 pm 05:26 PM

この章では、CakePHP で利用できる認証プロセスに関する情報を扱います。

See all articles