<?php
class session{
private $db;
function __construct($db){
$this->db=$db;
}
public function open($save_path,$session_name){
return true;
}
public function close(){
$this->db=null;
return true;
}
public function read($sid){
$rs=$this->db->query("select * from sessions where sid='".$sid."'");
foreach ($rs as $row){
return $row['value'];
}
return null;
}
public function write($sid,$value){
if(is_null($oldvalue=$this->read($sid))){
//insert
$str = "insert into sessions (sid,expiry,value)values('".$sid."',".time().",'".$value."')";
return $this->db->query($str);
}else{
//update
return $this->db->query("update sessions set expiry=’".time()."‘,value=’".$value."‘ where sid=’".$sid."‘");
}
}
public function destroy($sid){
return $this->db->query("delete from sessions where sid=’".$sid."‘");
}
public function gc($max_life_time){
return $this->db->query("delete from sessions where expiry+’.$max_life_time.’<’.time().");
}
}
3、memcache中
我们也可以按照上面的做法,写为user,然后增添相应的方法!!不过php中已经带了memcache,我们就没有必要啦
<?php
//ini_set("session.save_handler","memcache");
session_module_name("memcache");
ini_set("session.save_path", "tcp://127.0.0.1:11211");
$mem = new Memcache;
$mem->connect("localhost", 11211); //这个端口是默认的,其实也可以通过360查看
$mem->set("key", "This is a test!", 0, 60);
$val = $mem->get("key");
session_start();
$_SESSION["name"] = "li4";
echo $mem->get(session_id());
?>