php - 浏览器不清除旧的个人资料图像,Codeigniter
问题描述
我已成功更新个人资料图片,但在显示过程中显示旧。我已经在上传的文件夹中检查了新图像已被替换。请检查我的代码
<?php $filename=base_url().'profileimage/'.$this->session->userdata['user_details']['user_id'].'.jpg'; ?>
<img src="<?php echo $filename.'?='.filemtime($filename); ?>" class="rounded" alt="" width="150" height="150">
解决方案
这是浏览器缓存,因此您可以在图像 URL 之后调用 get 参数,当每次调用图像时,rand no 都会改变,因此浏览器可以将图像作为新图像,以避免在图像替换为相同名称后缓存或您可以更改图像名称而不是用户 ID。
请记住,每次加载页面时都可能需要加载时间,因此最好在替换为新图像后更改图像名称。
image.jpg?randrom_no=123
参考代码
<?php $filename=base_url().'profileimage/'.$this->session->userdata['user_details']['user_id'].'.jpg'; ?>
<img src="<?php echo $filename.'?rand='.rand(1,2000); ?>" class="rounded" alt="" width="150" height="150">
推荐阅读
- java - Spring 应用程序中的两个实体管理器(Arrango 和 JPA)
- database - 使用 SQL 请求从数据库访问 QlikView 部分
- node.js - 操作 `users.findOne()` 缓冲 10000 毫秒后超时
- python - 当我将 cvs 导入 python 时,它只显示 1 号
- python - 如何在 pygame 中制作地形并让角色在上面行走?
- python-3.x - 如何在python中求解双曲线
- excel - 修改脚本的 csv 标头以从 psql db 获取数据
- akka - 为什么当我启用 Akka Cinnamon 时会出现 CPU 问题?
- html - 使用 ScrollY 时数据表标题的对齐问题
- selenium - 使用 Selenium Webdriver 与伪元素交互?