/** * 历史浏览记录 * $data array 浏览记录里作品的必要信息(一般是存放作品id) */ private function _history($data){ if(!$data || !is_array($data)) { return false; } //判断cookie类里面是否有浏览记录 if(param::get_cookie('history')){ //获取cookie $history = unserialize(param::get_cookie('history')); //反序列化得到数据 array_unshift($history, $data); //在浏览记录顶部加入 /* 去除重复记录 */ $rows = array(); foreach ($history as $v){ if(in_array($v, $rows)){ continue; } $rows[] = $v; } /* 如果记录数量多余10则去除 */ while (count($rows) > 10) { array_pop($rows); //弹出 } param::set_cookie('history',serialize($rows),time()+3600*24*30,'/'); return true; } else { $history = serialize(array($data)); //序列化 param::set_cookie('history',$history,time()+3600*24*30,'/'); //设置cookie return true; } }
以上 获取cookie 和设置cookie 的方式根据框架不同,自行更改。