検索
ホームページphp教程php手册セッションに関するいくつかの補足機能

セッション|関数

PHP では、セッションについて多くの議論が行われています。実際、PHP4 には、通常は気付かない機能がいくつかあります。

以下でご紹介させて頂きます。

session_set_save_handler() は本当に良いものです。

//********************
session_unset (PHP4 >= 4.0b4)

void session_unset(void);

この関数は登録されているすべてのセッション変数を設定できますもちろん空です。これは登録解除ではなく、破棄と同じではないことに注意してください。

次の例は、この関数を非常によく説明しています。


session_register(''a'',''b'',''c''); //自動セッション開始
$a=1; c=3;
session_unregister(''a''); // $a を登録解除します
echo "A: $a - reg:".session_is_registered(''a'')."
"; a は残ります
session_unset(); // $b と $c の設定を解除します
echo "B:$b - reg:".session_is_registered(''b'')."
" // 登録は残ります
echo "C :$c - reg:".session_is_registered(''c'')."
";
echo session_encode();
?>

出力:
A: 1 - reg:
B: - reg:1
C: - reg:1
!b|!c

//********************************
session_get_cookie_params (PHP4 >= 4.0RC2)

array session_get_cookie_params (void);

現在のセッションの Cookie に関する情報を記録する配列を返します。
次があります:

「ライフタイム」 - クッキーの存続期間。

「パス」 - Cookie が保存されるパス。

「ドメイン」 - Cookie のドメイン。

//******************************
session_set_cookie_params (PHP4 >= 4.0b4)

void session_set_cookie_params ( intライフタイム [, 文字列パス [, 文字列ドメイン]])

php.ini の設定と同様に、セッション Cookie のいくつかのパラメーターを設定しますが、この関数によって行われた設定は現在のスクリプト ファイルに対してのみ有効です。


//**********************************

これから紹介する機能は誰にとってもとても役立つはずです便利です。Cookie なしで保存されるセッションをカスタマイズすることに興味がありますか?あなたのアイデアを実現できる機能です。

考えてみましょう、Cookie を使用しないことのメリットは何でしょうか?少なくともクライアントのCookie機能がオンになっているかどうかを気にする必要はありませんね。


session_set_save_handler (PHP4 >= 4.0b4)

void session_set_save_handler (string open、string close、string read、string write、string destroy、string gc)

この関数は、ユーザーレベルのセッション保存関数 (open 、閉じる、書くなど)。
たとえば、この関数はセッションをローカルデータベースに保存したい場合に非常に便利です。

! ! !注: この関数を使用する前に、まず php.ini ファイル session.save_hadler=user を設定する必要があります。そうしないと、session_set_save_handler() が有効になりません。

さらに、私のテストによると、そのようなセッションをページ間で使用したい場合は、セッションを使用する各スクリプトファイルに独自のカスタム関数と session_set_save_handler を追加する必要があります。したがって、最良の方法は、A を別のものにすることです。インクルードされるファイルは、セッションを使用するすべてのスクリプトにインクルードされます。

次の例は、デフォルトのファイル方法と同様の、最も基本的なセッション保存方法を示しています。
これを達成するためにデータベースを使用したい場合、これも非常に簡単に実行できます。

例 1. session_set_save_handler() の例


function open ($save_path, $session_name) {
global $sess_save_path, $sess_session_name

$sess_save_path = $save_path; _セッション名 = $セッション名;
return(true);

function close() {
return(true);

function read ($id) {
global $sess_save_path, $sess_session_name = "$sess_save_path/sess_ $id";
if ($fp = @fopen($sess_file, "r")) {
$sess_data = fread($fp, filesize($sess_file));
return($sess_data);
} else {
return("");
}

}

関数書き込み ($id, $sess_data) {
グローバル $sess_save_path, $sess_session_name

$sess_file = "$sess_save_path/sess_$id"; = @fopen($sess_file, "w")) {
return(fwrite($fp, $sess_data))
} else {
return(false)
}

}

function destroy ($id);
グローバル $sess_save_path, $sess_session_name;

$sess_file = "$sess_save_path/sess_$id"
}

/************ **********************************
* 警告 - いくつかの *
* 種類のガベージ コレクションを実装する必要があります。 *
******************************************** ****/
function gc ($maxlifetime) {
return true
}

session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");

session_start();

//通常どおりセッションの使用を続行します
//これで、次のようになりますいつものようにセッション。


?>


//************************************* ***

session_cache_limiter (PHP4 CVS のみ)

string session_cache_limiter ([string queue_limiter])

この関数は、session.cache_limiter の値を設定または取得できます。
php.iniでも同様の設定が可能です。その値は nocache、public、private です。

この関数は、HTTP ヘッダーを通じてクライアントに送信されます。 nocache の場合、クライアント キャッシュはすべて無効になります。パブリックではキャッシュが許可されますが、プライベートはパブリックよりも安全です。

デフォルト値はphp.iniの設定です。これを使用したい場合は、session_start()を呼び出す前にこの関数を呼び出す必要があります。

この関数は現在 CVS モードでのみ動作しますが、PHP4.0.3 ではサポートされる予定です。


例 1. session_cache_limiter() の例


# キャッシュ リミッターを ''private'' に設定します

session_cache_limiter(''private);
$cache_limiter = session_cache_limiter();キャッシュ リミッターは $cache_limiter

";
?>

//**************************** に設定されました。 ** *





声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境