PHP自定session保存路径及删除、注销与写入的方法

这篇文章主要介绍了PHP自定session保存路径及删除、注销与写入的方法,以实例形式详细讲述了session的常用操作技巧,在进行PHP项目开发的时候有很好的借鉴价值,需要的朋友可以参考下

本文实例讲述了PHP自定session保存路径及删除、注销与写入的方法。分享给大家供大家参考。具体方法如下:

  1. $sessionpath=session_save_path(); //获取当前session的保存路径
  2. echo $sessionpath;
  3. if(strpos($sessionpath,";")!==false) //如果路径中存在分号
  4. {
  5. $sessionpath=substr($sessionpath,strpos($sessionpath,";")+1); //设置新的路径
  6. }
  7. function open($save_path,$session_name) //定义打开函数
  8. {
  9. global $sess_save_path,$sess_session_name; //预定义session路径及名称
  10. $sess_save_path=$save_path; //定义保存路径
  11. $sess_session_name=$session_name; //定义session名称
  12. return(true); //返回真值
  13. }
  14. function close() //定义关闭函数
  15. {
  16. return(true); //直接返回真值
  17. }
  18. function read($id) //定义读取函数
  19. {
  20. global $sess_save_path,$sess_session_name; //预定义保存路径与名称
  21. $sess_file="$sess_save_path/sess_$id"; //定义文件
  22. if($fp=@fopen($sess_file,"r")) //打开文件
  23. {
  24. $sess_data=fread($fp,filesize($sess_file)); //读取文件
  25. return($sess_data); //返回读取内容
  26. }
  27. else
  28. {
  29. return(""); //如果读取失败必须返回空值
  30. }
  31. }
  32. function write($id,$sess_data) //定义写入函数
  33. {
  34. global $sess_save_path,$sess_session_name; //预定义保存路径与名称
  35. $sess_file="$sess_save_path/sess_$id"; //定义文件
  36. if($fp=@fopen($sess_file,"w")) //打开文件
  37. {
  38. return(fwrite($fp,$sess_data)); //执行写操作
  39. }
  40. else
  41. {
  42. return(false); //如果打开失败返回错误
  43. }
  44. }
  45. function destroy($id) //定义注销函数
  46. {
  47. global $sess_save_path,$sess_session_name;
  48. $sess_file="$sess_save_path/sess_$id"; //指明文件
  49. return(@unlink($sess_file)); //删除session文件
  50. }
  51. function gc($maxlifetime) //定义过期函数
  52. {
  53. return true; //直接返回真值
  54. }//www.phpfensi.com
  55. session_set_save_handler("open","close","read","write","destroy","gc"); //设置函数
  56. session_start(); //初始化session
  57. //以下就可以继续正常地使用session

希望本文所述对大家的PHP程序设计有所帮助。