对已经上传的图片在修正页面中重新上传时
因为图片的名字没有改变
显示的图片还是修正之前的上网查的资料说是因为缓存的问题
因为图片的名字已经要求死了,不能改变
有什么办法解决这个问题吗

解决方案 »

  1.   

    页面中不用cache,加下面的语句header("Cache-Control: no-cache");
    header("Pragma: no-cache");上传后refresh页面。
      

  2.   


    禁止了chche后怎么在重新启用
    页面上还用到 session
    所以不能禁止掉cache
      

  3.   

    修改图片时 删除原来的图片。。unlink("路径/图片名称");
    这样就不会名字冲突了。而且节省容量问题就是怕 修改的时候没有上传成功 可是原来的图片由删除了。
      

  4.   

    先暂时改一下么,再rename一下就OK啦
      

  5.   

    在文件后面get个随机数。这样ie就不会认为是相同的页面去读缓存了
      

  6.   


    你见过论坛中的验证码图片吧,比如CSDN在登录时的那个,看它的url地址,后面都会跟个随机数,每次刷新后都不同,这就是为了防止IE去读取缓存。
      

  7.   

    那个随机字符串是没有实际意义的,你的页面可以不去获取它,只是在产生这个url的时候后面连一个随机的字符串参数,它唯一的作用就是使得这个url每次都不同,所以IE就不认为与上次是同一个地址而去读取缓存了。
      

  8.   


    不好意思,还是不太明白在url 后面加个随机数有什么用
    图片的名字还没有改变
    而且另外调用图片显示的页面url 也没有改变
    这样的话不是还是读的缓存的文件吗是不是我理解有错误,麻烦知道的再给说一下
    要求是不改变图片文件的名字
      

  9.   


    加了随机数就相当于是不同的url了,浏览器会对同样的url进行缓存。
      

  10.   

    页面上的图片是用<img src="image/20090902.jpg"> 显示的另外上传页面也是上传的文件名字也是这个  20090902.jpg我还是不明白所谓说的随机数是要加在哪个url后边
      

  11.   

    <img src="image/20090902.jpg">=><img src="image/20090902.jpg?tmp=dsadas21dedqd">
    index.php
    ///////////////////////////////////////////////////////////
    <img src="image/20090902.jpg<?php echo rand(000001,999999);?>">这样基本就可以了。000001和999999这个范围的随机数,如果你还是怕赶上那微乎其微的概率会两次重复,就用字符和数字混合并且加长这个字符串吧。
      

  12.   

    上面那个我少写了一个问号。<img src="image/20090902.jpg?<?php echo rand(000001,999999);?>">这样就可以了。