首頁 >後端開發 >php教程 >關於thinkphp實作瀏覽歷史功能的方法

關於thinkphp實作瀏覽歷史功能的方法

不言
不言原創
2018-06-08 15:06:311799瀏覽

這篇文章主要介紹了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產生縮圖並顯示

關於thinkPHP實作批次刪除的方法

關於ThinkPHP利用getlist方法實作資料搜尋功能的分析

以上是關於thinkphp實作瀏覽歷史功能的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn