PHP 自定义session储存 FILE 方式类 高洛峰 细说PHP
自定义session储存 FILE 方式类
在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache)
session.save_handler = user 表示用户自定义session类
<?php/**自定义session储存File方式的类*打开**关闭**读取**写入**销毁**回收**/classFileSession{privatestatic$path="d:/wamp/sfile/";publicstaticfunctionstart($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()publicstaticfunctionopen($path,$name){echo'open<br/>';returntrue;}//关闭publicstaticfunctionclose(){echo'close<br/>';returntrue;}//读取echopublicstaticfunctionread($sid){echo'read<br/>';$filename=self::$path.'yang_'.$sid;//return'username|s:12:"津沙港湾";age|i:33;sex|s:4:"male";';return@file_get_contents($filename);}//写入$_SESSION['username']='yang'publicstaticfunctionwrite($sid,$data){echo'write<br/>';$filename=self::$path.'yang_'.$sid;echo$filename.'<br/>';echo$data.'<br/>';returnfile_put_contents($filename,$data);}//销毁session_destroypublicstaticfunctiondestroy($sid){echo'destroy<br/>';$filename=self::$path.'yang_'.$sid;echo$filename.'<br/>';return@unlink($filename);}//回收垃圾publicstaticfunctiongc($maxlifetime){echo'gc<br/>';foreach(glob(self::$path.'yang_*')as$file){echo$file.'<br/>';//只删除过期if((filemtime($file)+$maxlifetime)<time()){unlink($file);}}}}FileSession::start();
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。