PHP 自定義session儲存 FILE 方式類
自定義session儲存 FILE 方式類
在php.ini配置檔案中更改設定 (Registered_save_handlers 有三種方式 files user memcache)
session.save_handler = user 表示使用者自定義session類
class FileSession{
private static $path = "d:/wamp/sfile/";
public static function start($path= "d:/wamp/sfile/"){
self::$path = $path;
//註冊自定義函式
session_set_save_handler(
array(__CLASS__,'open'),
array(__CLASS__,'close'),
array(__CLASS__,'read'),
array(__CLASS__,'write'),
array(__CLASS__,'destroy'),
array(__CLASS__, 'gc'));
//開啟會話
session_start();
}
//開始 sesssion_start()
public static function open($path,$name){
echo 'open
';
return true;
}
//關閉
public static function close(){
echo 'close
';
return true;
}
//讀取 echo
public static function read($sid){
echo 'read
';
$filename = self::$path.'yang_'.$sid;
// return 'username|s:12:"津沙港灣";age|i:33;sex|s:4:"male";';
return @file_get_contents($filename);
}
//寫入 $_SESSION['username']='yang'
public static function write($sid,$data){
echo 'write
';
$filename = self::$path.'yang_'.$sid;
echo $filename.'
';
echo $data.'
';
return file_put_contents($filename, $data);
}
//銷燬 session_destroy
public static function destroy($sid){
echo 'destroy
';
$filename = self::$path.'yang_'.$sid;
echo $filename.'
';
return @unlink($filename);
}
//回收垃圾
public static function gc($maxlifetime){
echo 'gc
';
foreach(glob(self::$path.'yang_*') as $file){
echo $file.'
';
//只刪除過期
if((filemtime($file)+$maxlifetime)
unlink($file);
}
}
}
}
FileSession::start();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4328/viewspace-2801673/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP session 儲存方式 file 改為 RedisPHPSessionRedis
- Laravel 自定義配置資訊的儲存方式Laravel
- 使用SpringBoot JPA進行自定義的儲存及批量儲存Spring Boot
- 使用SpringBoot-JPA進行自定義的儲存及批量儲存Spring Boot
- 人類儲存方式的變革史
- MySQL自定義函式與儲存過程MySql函式儲存過程
- Laravel 5.8 自定義位置日誌按天儲存Laravel
- Android的3種資料儲存技術(一)File儲存Android
- C 儲存類
- [2]自定義Lua解析方式
- 自定義異常類
- php 自定義配置檔案PHP
- block底層儲存方式BloC
- SpringBoot專案使用AOP及自定義註解儲存操作日誌Spring Boot
- 深入mysql建立自定義函式與儲存過程的詳解MySql函式儲存過程
- Java 基礎(十一)File 操作及自定義MySharedPreferencesJava
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- Hadoop自定義輸出排序方式Hadoop排序
- 自定義實現Complex類
- Python如何自定義元類Python
- 軟體定義儲存助力數字中國建設:智慧高效又經濟的資料儲存方式
- 日期的正確儲存方式
- PHP 編譯引數儲存PHP編譯
- php圖的儲存結構PHP
- MySQL的物理儲存結構和session過程MySqlSession
- 如何檢視Control File中儲存的內容
- springbootredis自定義序列化方式(fastJson)Spring BootRedisASTJSON
- Request 增加自定義欄位的方式
- Django(62)自定義認證類Django
- 微信自定義分享支援https(php)HTTPPHP
- 玩轉docker之自定義PHP容器DockerPHP
- php自定義函式放哪兒PHP函式
- laravel session 與 php session配置LaravelSessionPHP
- JavaScript本地儲存的方式有哪些JavaScript
- Java常見的本地儲存方式Java
- 探討Web開發中的Session儲存與管理WebSession
- 常見儲存器分類
- go 自定義二進位制檔案讀寫-儲存倒排索引文件 idGo索引