ホームページ >バックエンド開発 >PHPチュートリアル >PHP セッション追跡およびファイル処理システム 1 (43)
変数の登録解除
1. unset ($_SESSION[‘xxx’]) は 1 つのセッション変数を削除します。unset ($_SESSION[‘xxx’]) は、登録されているセッション変数の登録を解除するために使用されます。その機能は session_unregister() と同じです。 Session_unregister() は PHP5 では使用されなくなりました。
注: unset($_SESSION) この関数は使用してはなりません。グローバル変数 $_SESSION が破壊されるため、それを復元する方法はありません。ユーザーは $_SESSION 変数も登録できなくなります。
2. $_SESSION=array() は複数のセッション変数を削除します
3. session_unset() はすべてのセッション変数を削除します
セッションを破棄します
session_destroy() は現在のセッションを終了し、セッション内のすべてのリソースをクリアします。この関数は、現在のセッションに関連するグローバル変数の設定を解除 (解放) しませんし、クライアントのセッション Cookie を削除しません。
戻り値: ブール値。
関数の説明: この関数は現在のセッションを終了します。
パラメータはなく、戻り値は true です。
注: PHP のデフォルトのセッションは Cookie を削除する場合、setcookie( を使用する必要があります。 ) 関数。
セッション削除の場合
<?<span>php </span><span>//</span><span> 初始化session.</span><span>session_start(); </span><span>/*</span><span> 删除所有的session变量..也可用 unset($_SESSION[‘xxx’])逐个删除。</span><span>*/</span><span>$_SESSION </span>= array();<span>//</span><span>或session_unset();</span><span>/*</span><span>删除sessinid.由于session默认是基于cookie的,所 以使用setcookie删除包含session id的cookie.</span><span>*/</span><span>if</span><span> (isset($_COOKIE[session_name()])) { setcookie(session_name(), </span><span>'</span><span>'</span>, time()-<span>42000</span><span>, </span><span>'</span><span>/</span><span>'</span><span>); } </span><span>//</span><span> 最后彻底销毁session.</span><span>session_destroy(); </span>?>
永続セッション
リクエスト終了後、登録されている変数は全て自動的にシリアル化され(便宜上、サーバー側のセッションテキストファイルに保存されます)、読み込み時に復元されます。
??手動エンコードとデコード:
??session_encode(): シリアル番号エンコード
??session_decode(): 復元デコード
??警告: 一部のタイプのデータはシリアル化できないため、セッションに保存できません。循環参照を持つリソース変数またはオブジェクトを含めます (つまり、オブジェクトがそれ自体への参照を別のオブジェクトに渡します)。
セッション制御を構成する
php.ini 構成ファイルには、設定できる一連のセッション構成オプションがあります。次のように:
??session.auto_start= 0; リクエストの開始時にセッションを初期化します
??session.cache_expire= 180; キャッシュ内のセッションドキュメントが n 分後に期限切れになるように設定します
??session.cookie_lifetime= 0; Cookie の保存時間は、セッションの有効期限を設定するのと同じです。0 の場合は、php.ini で session.auto_start=1 を開始することもできます。 session_start() を使用する前に毎回呼び出す必要はありません。
??session.cookie_path= / ; Cookie の有効なパス
??session.name= PHPSESSID; ?session.save_handler= files; データの保存/取得の制御メソッド
??session.save_path= /tmp; save_handler がファイルに設定されている場合に、コントローラーに渡されるパラメーターです。 ??session.use_cookies = 1; Cookie を使用するかどうか
ファイル処理システム
ファイルの種類??プログラムの実行中、プログラム自体とデータは通常、プログラムの終了時にメモリに保存されます。メモリに保存されているデータは解放されます。
??プログラムの動作に必要な元のデータやプログラムの動作によって生成された結果を長期間保存する必要がある場合は、ファイルの形式で外部記憶媒体に保存する必要があります。??ファイルとは一般に、外部メディアに保存された名前(ファイル名)を持つ一連の関連データを指します。ファイルを利用することでデータを長期保存したり、データを共有したりすることができます。
??PHP は UNIX ファイル システムをモデルにしています。したがって、Windows システムでは、「file」、「dir」、または「unknown」の 3 つのファイル タイプのみを取得できます。 UNIX システムでは、block、char、dir、fifo、file、link、unknown の 7 つのタイプを取得できます。??関数 filetype() を使用して、ファイルの特定のタイプを取得できます。
??構文: string filetype( string filename)
Liunx システムの 7 つのファイルタイプの説明
is_dir( ) -- 指定されたファイル名がディレクトリであるかどうかを判断します
構文構造: boolis_dir (name)
戻り値の型: ファイル名が存在し、ディレクトリである場合は true を返し、それ以外の場合は false を返します。
??is_executable() -- 指定されたファイル名が実行可能かどうかを判断します
構文構造: boolis_executable (name)
戻り値の型: ファイルが存在し実行可能である場合は true を返し、それ以外の場合は false を返します。
??is_file() -- 指定されたファイル名が通常のファイルかどうかを判断します。
構文構造: boolis_file (name)
戻り値の型: ファイルが存在し、通常のファイルである場合は true を返します。
??is_link( ) -- 指定されたファイル名がシンボリック リンクかどうかを判断します
構文構造: boolis_link (name)
戻り値の型: ファイルが存在し、シンボリック リンクである場合は true を返します。
??is_readable( ) -- 指定されたファイル名が読み取り可能かどうかを判断します
構文構造: boolis_readable (ファイル名)
戻り値の型: ファイルが存在し、読み取り可能な場合は true を返します。
??is_writable( ) -- 指定されたファイル名が書き込み可能かどうかを判断します
構文構造: boolis_writable (ファイル名)
戻り値の型: ファイルが存在し、書き込み可能な場合は true を返します。
ファイルのプロパティ
上記は、PHP セッション追跡およびファイル処理システム 1 (43) を内容の側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。