PHP Cookie实现浏览历史记录保存功能
保存用户浏览记录的功能,挺适合用 PHP 搭配 Cookie 实现,逻辑简单,效果还不错。像你做一个图片展示页,每次用户点开一张图,就记录下来,下次进来就能看到自己看过的。挺人性化的设计,对吧?
Cookie 本质就是浏览器存的一段小文本,PHP 里用 setcookie()
搞定。你只要每次访问图片的时候,把图片名塞进一个数组,存进 Cookie 就行了:
// 简化版逻辑
$image = 'image1.jpg';
$history = [];
if (isset($_COOKIE['browse_history'])) {
$history = json_decode($_COOKIE['browse_history'], true);
}
array_unshift($history, $image);
$history = array_unique($history);
setcookie('browse_history', json_encode($history), time()+3600*24*30, '/');
Cookie 其实有点小,最多存 4KB,所以图片多了要注意截断,比如保留最近 10 张。路径用 images/
就蛮方便的,展示时一遍循环就能搞定。
foreach ($history as $img) {
echo "
";
}
还有一点别忘了,images/
目录得确保可读,不然加载不出来用户也看不到历史图。安全方面,Cookie 设置 httponly
和 secure
这些参数也别省。
如果你想看更完整的 Cookie 使用案例,可以看看PHP 实战:COOKIE 登录验证那篇,讲得挺细。
,PHP + Cookie 组合还蛮适合做这种浏览历史功能的。代码少、部署快,体验也不赖。你可以试着加点动画或者样式,让展示图更有感觉。
如果你想拓展功能,比如加用户登录、存更多历史,那可以把数据存到数据库或服务器端 session 里,Cookie 就做个临时缓存。
images.zip
预估大小:3个文件
images
文件夹
lenovo.jpg
25KB
mi.jpg
29KB
huawei.jpg
20KB
72.13KB
文件大小:
评论区