我已经成功更新了个人资料图像,但是在显示过程中显示为旧图像。 我已经在上载的文件夹中检查了新图像已被替换。 请检查我的代码
<?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">
答案 0 :(得分:5)
这是浏览器缓存,因此您可以在图片网址后调用get参数, 每次调用图像时,rand都将更改,因此浏览器可以将图像作为新图像,以避免在用相同名称替换图像后缓存,或者您可以更改图像名称而不是用户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">
答案 1 :(得分:0)
尝试这种方式显示个人资料图片。希望它对您有用。
<img class="rounded" src="<?php
if ($_SESSION['userdata']['user_profile_image'] !== '' && file_exists(FCPATH . 'profileimage/' . $_SESSION['userdata']['user_profile_image'])) {
echo base_url() . 'profileimage' . $_SESSION['userdata']['filename'];
} else {
echo base_url() . 'dummyimage';
}
?>" alt="" width="150" height="150">
答案 2 :(得分:0)
这不是您的代码问题。这是您的浏览器缓存问题。您需要清除浏览器缓存。如果您使用的是谷歌浏览器,则可以按 ctrl + Shift + R 刷新页面。