大家好,又见面了,我是你们的朋友全栈君。
头像是根据url指定的,更改头像后url仍然不变,即url指向的图片地址没变,但图片已经更换了
因为url没变所以浏览器还是用原来的图片,怎么更改后及时显示新的图片呢?是因为浏览器的缓存吗,怎么用php清楚浏览器缓存呢
回复内容:
头像是根据url指定的,更改头像后url仍然不变,即url指向的图片地址没变,但图片已经更换了
因为url没变所以浏览器还是用原来的图片,怎么更改后及时显示新的图片呢?是因为浏览器的缓存吗,怎么用php清楚浏览器缓存呢
http://yourdomain/paht/to/you/image.jpg?v=201310100934
PHP是运行在服务器端语言,是管不到用户的电脑的。浏览器有缓存,安全方面的考量,清缓存的操作只能交给用户,也不能用JS来直接完成。
所以要让浏览器在有缓存的情形下,发出新请求的话就如1L所说,在图片之后加入查询,由于SRC地址已经改变了,浏览器就会重新取。
如果CDN有缓存的话,只能改文件名,以保证用户取到的绝对是最新的。
不知道你是否有存儲頭像路徑在資料庫,如果有,上傳頭像時,可以生成隨機字符串作為圖片的名字。
如果圖片名稱非得固定,也可以同樣生成隨機字符存儲在資料庫,然後在圖片後加查詢,value就用生成的隨機字符。
浏览器是根据服务器响应中的关于缓存的头部来决定是否缓存资源以及缓存多久。也就是说,实质上是通过服务器返回对应的头部来告诉浏览器那些缓存的资源需要更新。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161104.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...