首页 > 解决方案 > 浏览器不清除旧的个人资料图像,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">

标签: phpimagecodeignitersessioncaching

解决方案


这是浏览器缓存,因此您可以在图像 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">

推荐阅读