ホームページ > バックエンド開発 > PHPチュートリアル > セッションカスタムセッションプロセッサを実装するための PHP メソッド、セッション session_PHP チュートリアル

セッションカスタムセッションプロセッサを実装するための PHP メソッド、セッション session_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:08:54
オリジナル
1051 人が閲覧しました

セッションカスタムセッションプロセッサ、セッションセッションを実装するための

phpメソッド

この記事の例では、PHP でカスタム セッション プロセッサを実装する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

セッション カスタム セッション プロセッサー、つまり、セッション上のさまざまな操作はすべて、セッションをカスタマイズすることで決定できます。それはどういう意味ですか?まず、php.ini の session.save_handler 設定を見てみましょう。

デフォルトでは、session.save_handler = files。これは、システム定義のプロセッサが呼び出されることを意味します(いわゆるプロセッサは、実際には多くの関数/メソッドです)。 session.save_handler を user または memcache、あるいはネットワーク ファイル システム (クラウド コンピューティング) に設定することもできます。

session.save_handler = user: カスタム セッション ハンドラーの呼び出しを示します。 session.save_handler = memcache: わずかに.... を示します (大まかにメモリに保存され、より効率的です)。

session.save_handler = files を設定すると、セッションの操作に関して、実際には session.set_save_handler の 6 つのコールバック関数 (詳細は PHP マニュアルを参照) が呼び出されます (いわゆるコールバック関数はシステムによって呼び出されるので、呼び出す必要はありません)。指定された)。 6 つのコールバック関数については、以下のコードを参照してください。これらは PHP マニュアルでも参照できます。

コードをコピーします コードは次のとおりです:
関数オープン($save_path, $session_name)
{
グローバル $sess_save_path;
$sess_save_path = $save_path;
return(true);
}

関数close()
{
return(true);
}

関数読み取り($id)
{
グローバル $sess_save_path;
$sess_file = "$sess_save_path/sess_$id";
return (文字列) @file_get_contents($sess_file);
}

関数書き込み($id, $sess_data)
{
グローバル $sess_save_path;
$sess_file = "$sess_save_path/sess_$id";
if ($fp = @fopen($sess_file, "w")) {
$return = fwrite($fp, $sess_data);
fclose($fp);
$return;
を返します } その他 {
Return(false);
}
}

関数破棄($id)
{
グローバル $sess_save_path;
$sess_file = "$sess_save_path/sess_$id";
return(@unlink($sess_file));
}

関数 gc($maxlifetime)
{
グローバル $sess_save_path;
foreach (glob("$sess_save_path/sess_*") as $filename) {
If (filemtime($filename) + $maxlifetime < time()) {
@unlink($filename);
}
}
true を返します;
}

session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
session_start();
// 通常通りセッションの使用に進みます
?>


session.save_handler を user に設定すると、上記のコードを必要なメソッドに書き換えて、実行される php ファイル内で呼び出すことができます。たとえば、デフォルトでは、セッションを保存するファイル名は sess_ で始まりますが、これは実際にはここで設定されており、必要に応じて変更できます。

もちろん、セッションの保存方法を変更することもできます。デフォルトでは、セッションをデータベースに保存できます。もちろん、これを行うことはお勧めできません。データベースの読み取り速度が遅くなります。 )、またはメモリに保存するように設定することもできます(速度 memcache関連コンテンツで最速かつ詳細に説明しています)。

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/948405.html技術記事 PHP でカスタム セッション プロセッサを実装する方法 この記事では、PHP でカスタム セッション プロセッサを実装する方法について説明します。皆さんの参考に共有してください。詳細な分析...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート