源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

php自定义session示例分享

  • 时间:2022-03-24 22:44 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php自定义session示例分享
下面为session类的代码
[u]复制代码[/u] 代码如下:
<?php class session {  static function init()  {   session_set_save_handler(     array("session","open"),     array("session","close"),     array("session","read"),     array("session","write"),     array("session","destroy"),     array("session","gc")   );  }  static function open($save_path,$session_name)  {   echo "session opening!<br>";   /*global $db,$REMOTE_ADDR;    $rs = $db->Execute("select * from Sessions where SessionID='".session_id()."'");   $arry=$rs->FetchRow();   if( $rs && $arry)   {   $db->Execute("update Sessions set SessionLast=NOW() where SessionID='".session_id()."'");   }   else   {   $query = "insert into Sessions set SessionID='".session_id()."',SessionName='$REMOTE_ADDR',SessionLast='NOW()'";   //echo $query;   $db->Execute($query);   }*/   return true;  }  static function close()  {   return(true);  }  static function read($id)  {   echo "session reading now!<br>";   global $db;   return true;   $timenow = strftime("%Y-%m-%d %H:%M:%S", time());   $query = "select SessionData from Sessions where SessionID='$id' and SessionLast > '$timenow'";   $rs = $db->Execute($query);   if(list($SessionData) = $rs->FetchRow())   {    //echo $SessionData;    return $SessionData;   }   else   {    return false;   }  }  static function write($id,$sess_data)  {   echo "session writing now!<br>";   global $db;   $rs = $db->Execute("select SessionID from Sessions where SessionID='$id'");   $num = $rs->RecordCount();   $unix_time = time()+MY_SESS_TIME;   //echo MY_SESS_TIME;   $dateleft = strftime("%Y-%m-%d %H:%M:%S", $unix_time);   if($num <= 0)   {    $sql = "insert into Sessions set SessionData='$sess_data', SessionName='".$_SERVER["REMOTE_ADDR"]."', SessionLast='$dateleft', SessionID='".session_id()."'";   }   else   {    $sql = "update Sessions set SessionData='$sess_data', SessionName='".$_SERVER["REMOTE_ADDR"]."', SessionLast='$dateleft' where SessionID='$id'";   }   $db->Execute($sql);  }  static function destroy($id)  {   echo "session destroying now!<br>";   global $db;   $sql = "DELETE FROM Sessions WHERE `SessionID` = '$id'";   $rs = $db->Execute($sql);   return $rs;   // $sess_file = "$sess_save_path/sess_$id";   //return(@unlink($sess_file));  }  /*********************************************   * WARNING - You will need to implement some *  * sort of garbage collection routine here. *  *********************************************/  static function gc($maxlifetime)  {   echo "session maxlifetime now!<br>";   global $db;   $timenow = strftime("%Y-%m-%d %H:%M:%S", time());   $sql = "DELETE FROM `$table_sessions` WHERE `SessionLast` < '$timenow'";   return $sess_db->Execute($sql);   //echo "now gc!<br>";   return true;  }  // proceed to use sessions normally }
使用方法
[u]复制代码[/u] 代码如下:
include("session.class.php"); session::init(); session_start(); define("MY_SESS_TIME", 3600); //SESSION 生存时长 $_SESSION["test"] = "abcdef";
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部