自定义session信息写入文件
来源:互联网 发布:守序邪恶知乎 编辑:程序博客网 时间:2024/06/06 01:26
写网站程序时,可能会要求session写到规定的路径,所以,写了这个php文件,已验证成功,不足之处,欢迎多多指教。学习中
自定义session文件保存路径
保存到 D:/session
介绍一下PHP配置文件中的常用选择(PHP.ini)
session.name session名称
session.use_trans_sid 启用SID的支持
session.save_path session保存路径
基于cookie的session信息
session.use_cookies = 1 是否指定客户端互为会话 1
session.cookie_path = '/' 指定会话的cookie的路径 删cookie是一定要加上 /
session.cookie_domain ='' 指定设置会话cookie默认的域名
session.cookie_lifetime =0 cookie在客户端保存的时间
session.save.handler=files/user/memcache 系统默认/用户自定义/mem来保存会话信息
session.gc_maxlifetime
垃圾回收 garbagecollection
指定过了多少秒之后数据就会被视为“垃圾”,并被清除
session.gc_probability=1
session.gc.divisor=100
这两个合起来就是启动gc进程管理概率的
初始化时(session_start())
session.gc.probability/session.gc.divisor
1/100 (即1%的概率删。一百个没用的当中删一个)
首先,把php.ini的这个方法给成user,session.save_handler = user ;可以改成files/user/memcache
代码如下:
<?php
/*
自定义用文件存储session信息
*/
//在运行session_start()的时候执行 //启动会话
function open($save_path,$session_name){
global $sess_save_path;
$sess_save_path =$save_path;
return true;
}
//session_write_close()和session_destroy()的执行
function close(){
return true;
}
//也是session_start()时候执行,读取session写入到$_SESSION中
function read($id){
global $sess_save_path;
$sess_file=$sess_save_path."/wzy_".$id;
return (string) @file_get_contents($sess_file); //文件操作读session
//语句前面加个@表示 屏蔽错误
}
//脚本结束时和session_write_close()强制提交SESSION数据时执行
function write($id,$sess_data){
global $sess_save_path;
$sess_file=$sess_save_path."/wzy_".$id;
if($fp=fopen($sess_file,"w")){ //把session数据用文件操作写入文件
$return=fwrite($fp,$sess_data);
fclose($fp);
return $return;
}else{
return false;
}
}
//执行session_destroy()时候销毁
function destroy($id){
global $sess_save_path;
$sess_file=$sess_save_path."/wzy_".$id;
return unlink($sess_file); //文件操作销毁指定文件
}
//session.gc_probability和session.gc.divisor的值决定的,时机是在open(),read(),session_start()的时候执行gc
function gc($maxlifetime){
global $sess_save_path;
foreach(glob($sess_save_path."/wzy_*") as $filename){
if(filemtime($filename)+$maxlifetime<time()){ //session文件上次修改的是时间+保存时间<当前时间 则删除
unlink($filename);
}
}
return true;
}
session_set_save_handler('open','close','read','write','destroy','gc');
session_start();
?>
- 自定义session信息写入文件
- 将session信息写入数据库
- 自定义类写入文件
- php将session信息写入数据库
- PHP 将信息写入文件
- 向一个文件写入信息并读出写入另一个文件
- 将session信息写入到memcache中管理
- php之session最优将信息写入memcache中管理
- 将控制台的信息写入到文件
- log4j 写入信息到文件简单举例
- 捕获异常信息并写入日志文件
- ios 将Log信息写入文件
- matlab窗口输出信息写入文件
- 文件信息的读取和写入
- 日志写入文件,写入sqlserver数据库(自定义参数)
- 将自定义符号写入STYLE文件
- Java向自定义文件夹中写入文件
- Java向自定义文件夹中写入文件
- HDU 4291 A Short problem
- hdu2491(贪心)
- 发布PL/SQL API成Webservice,并注册到IR(Oracle Integration Repositoy)中
- HttpWebRequest的经典实例
- c++调用mapi发送邮件的方法
- 自定义session信息写入文件
- 关于搜索引擎及其开发
- 如果获取当前grid中的所有数据
- MongoDB 安装与下载
- jpbm回退,会签,自由流,撤销
- Weka Explorer(探索者界面) 详解(4)logistic回归和回归算法
- Ubuntu下安装Android反编译工具apktool和应用数字签名
- Handler 在线程中处理进度条
- 用cmd命令修改文件属性,让用户没有权限操作或隐藏文件