Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk melaksanakan sejarah penyemakan imbas dalam php

Bagaimana untuk melaksanakan sejarah penyemakan imbas dalam php

Nov 02, 2021 am 09:56 AM
php

Cara melaksanakan rekod penyemakan imbas dalam PHP: 1. Tetapkan data awal; 3. Tentukan sama ada rekod penyemakan imbas wujud; Rakam sahaja.

Bagaimana untuk melaksanakan sejarah penyemakan imbas dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Cara mencapai sejarah penyemakan imbas dalam php?

PHP melaksanakan rekod penyemakan imbas sejarah

Malah, prinsipnya sangat mudah, iaitu menggunakan kuki untuk mencapai rakaman anda perlu menyediakannya Tempoh kuki yang disimpan dan masa rakaman Berikut ialah pelaksanaan asas rangka kerja ci

Jika anda mempunyai idea yang lebih baik untuk pelaksanaan, sila ulas dan bincang.

/**
 * @desc    设置cookie浏览记录
 * @date    2018-04-15 16:48:22
 * @param   [string $type记录浏览类型【as 查看记录表1;ps 查看记录表2】;int $id主键id]
 * @author  1245049149@qq.com
 * @return  [type]
 */
public function set_cookie_history($type,$id){
 
    //设置初始数据
    $set_limit = 5; //浏览记录的容量限制
 
    //初始数据过滤
    if(!in_array($type,['as','ps'])){
        return false;
    }
 
    //获取cookie记录
    $string = $type.$id;
    $history_array = unserialize($_COOKIE['cookie_history']);
    if(!$history_array)
        $history_array = [];
 
    //浏览记录存在
    if(in_array($string,$history_array)){
        unset($history_array[array_search($string , $history_array)]); //删除存在
        array_unshift($history_array,$string);//重新放在第一个
 
    //浏览记录不存在
    }else{
 
        //没有超过记录的容量限制,直接放在第一个
        if(count($history_array)<$set_limit){
            array_unshift($history_array,$string);
 
        //超过记录的容量限制,删除最后一个,然后放在第一个
        }else{
            array_pop($history_array);
            array_unshift($history_array,$string);
        }
    }
 
    //将浏览数组序列化后写入cookie
    $expire_time = 3600 * 24 * 30; //过期时间
    $cookie_domain = $this->config->item('cookie_domain');
    $history_array = serialize($history_array);
    setcookie('cookie_history', $history_array, time()+$expire_time, '/', $cookie_domain);
 
}
Salin selepas log masuk

Perkara di atas adalah untuk melaksanakan fungsi rakaman kuki, dan berikut ialah kaedah untuk membaca rekod kuki:

/**
 * @desc    获取cookie浏览记录
 * @date    2018-04-15 17:42:51
 * @param   [type]
 * @author  1245049149@qq.com
 * @return  [array $return_data]
 */
public function get_cookie_history(){
    //设置初始返回数据
    $return_data = [];
 
    //获取cookie记录
    $history_array = unserialize($_COOKIE['cookie_history']);
    if(!$history_array)
        return $return_data;
 
    if($history_array){
        foreach($history_array as $k=>$v){
 
            //切割判断是否是as类型
            $as_temp = explode('as',$v);
            if($as_temp && $as_temp[1]){
                //这里写,你要查询的sql语句
                $sql = "select field1,field2 from table_test1 where id={$as_temp[1]}";
                $res = $this->db->query($sql)->row_array();
                if($res)
                    $return_data[] = ['type' => 'as','data' => $res];
            }
 
            //切割判断是否是ps类型
            $ps_temp = explode('ps',$v);
            if($ps_temp && $ps_temp[1]){
                //这里写,你要查询的sql语句
                $sql = "select field1,field2 from table_test2 where id={$as_temp[1]}";
                $res = $this->db->query($sql)->row_array();
                if($res)
                    $return_data[] = ['type' => 'ps','data' => $res];
            }
        }
        return $return_data;
    }
 
    //非法获取数据,直接返回
    return $return_data;
}
Salin selepas log masuk

Pembelajaran yang disyorkan: "Tutorial Video PHP "

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sejarah penyemakan imbas dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Konfigurasi Projek CakePHP

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Tarikh dan Masa CakePHP

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Muat naik Fail CakePHP

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Penghalaan CakePHP

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

Bincangkan CakePHP

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

Panduan Ringkas CakePHP

See all articles