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
- NSUserDefault 儲存自定義物件物件
- 自定義Report 變數儲存功能變數
- 人類儲存方式的變革史
- MySQL自定義函式與儲存過程MySql函式儲存過程
- 使用SpringBoot JPA進行自定義的儲存及批量儲存Spring Boot
- 使用SpringBoot-JPA進行自定義的儲存及批量儲存Spring Boot
- Laravel 5.8 自定義位置日誌按天儲存Laravel
- 很亂,臨時儲存,自定義v-model
- 自定義效能統計儲存過程包runstats儲存過程
- 集合框架-ArrayList集合儲存自定義物件的排序案例框架物件排序
- 集合框架-HashSet儲存字串、自定義物件並遍歷框架字串物件
- Android四種儲存方式: sharedpreference,file,SQlite,contentprovider(轉)AndroidSQLiteIDE
- (9)mysql 中的儲存過程和自定義函式MySql儲存過程函式
- android 儲存方式Android
- C 儲存類
- [2]自定義Lua解析方式
- 自定義異常類
- FastDFS加Redis實現自定義檔名儲存海量檔案ASTRedis
- Redis序列化儲存Java集合List等自定義型別RedisJava型別
- 在session中儲存JSON物件SessionJSON物件
- php 自定義配置檔案PHP
- shiro使用自定義session管理器Session
- block底層儲存方式BloC
- java 資料儲存方式Java
- Android的3種資料儲存技術(一)File儲存Android
- php中定義類PHP
- 深入mysql建立自定義函式與儲存過程的詳解MySql函式儲存過程
- 集合框架-ArrayList儲存字串、自定義物件並遍歷泛型版框架字串物件泛型
- 跟我一起部署和定製 CNPM——自定義包儲存層NPM
- BIEE 儲存本地自定義檔案並通過fmap函式使用函式
- JAVA入門學習-學習如何自定義一個實體類,用於儲存一組資料。Java
- Java類方法(定義一個工具類,儲存一些常用的方法)Java
- 軟體定義儲存助力數字中國建設:智慧高效又經濟的資料儲存方式
- 儲存系統設計指南之儲存分類
- 日期的正確儲存方式
- java呼叫oracle儲存過程的自定義型別(可變陣列)JavaOracle儲存過程型別陣列