這篇文章主要介紹了thinkphp瀏覽歷史功能實現方法,可實現瀏覽器的瀏覽歷史功能,是非常實用的技巧,需要的朋友可以參考下
本文實例講述了thinkphp瀏覽歷史功能實現方法,分享給大家參考。具體實現方法分析如下:
歷史瀏覽功能都是使用了cookie功能記錄用戶資訊放到了本地了,這樣我們只要讀取儲存在cookies中的值就可以了,下面來給大家介紹一個基於thinkphp 實作瀏覽歷史功能範例。
就像瀏覽器一樣,能夠記錄訪問了哪些頁面,這樣能夠減少時間,下面我們實現瀏覽歷史的功能。
1.在你需要記錄瀏覽資料的產品或新聞頁面,記錄cookie需要保存的信息,例如下面這行程式碼,把頁面ID,產品名稱,價格,縮圖,網址傳給cookie_history。
cookie_history($id,$info['title'],$info['price'],$info['pic'],$thisurl);
2.function.php 裡面加入程式碼
/** +---------------------------------------------------------- * 浏览记录按照时间排序 +---------------------------------------------------------- */ function my_sort($a, $b){ $a = substr($a,1); $b = substr($b,1); if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } /** +---------------------------------------------------------- * 网页浏览记录生成 +---------------------------------------------------------- */ function cookie_history($id,$title,$price,$img,$url){ $dealinfo['title'] = $title; $dealinfo['price'] = $price; $dealinfo['img'] = $img; $dealinfo['url'] = $url; $time = 't'.NOW_TIME; $cookie_history = array($time => json_encode($dealinfo)); //设置cookie if (!cookie('history')){//cookie空,初始一个 cookie('history',$cookie_history); }else{ $new_history = array_merge(cookie('history'),$cookie_history);//添加新浏览数据 uksort($new_history, "my_sort");//按照浏览时间排序 $history = array_unique($new_history); if (count($history) > 4){ $history = array_slice($history,0,4); } cookie('history',$history); } } /** +---------------------------------------------------------- * 网页浏览记录读取 +---------------------------------------------------------- */ function cookie_history_read(){ $arr = cookie('history'); foreach ((array)$arr as $k => $v){ $list[$k] = json_decode($v,true); } return $list; }
3.在需要顯示瀏覽記錄的頁面輸出資訊
$this->assign('history',cookie_history_read());
範本裡面用volist顯示出來就行了。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關建議:
關於ThinkPHP利用getlist方法實作資料搜尋功能的分析
以上是關於thinkphp實作瀏覽歷史功能的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!