【问题标题】:Javascript clear cache imageJavascript清除缓存图像
【发布时间】:2013-06-23 21:50:03
【问题描述】:

我有一个 PHP 脚本,用于显示根目录下的图像。在Javascript中,当我使用脚本显示图像时,图像正常显示。但是,如果在未重新加载页面的情况下修改图像,则会显示旧图像而不是新图像。我试图为图像添加时间戳,但似乎这只在通过脚本显示图像时才有效。 PHP中图像显示的代码:

<?php
$content = file_get_contents( $_GET['arquivo'] );
if( $content !== false ){
    echo $content;
}
else{
    echo 'not found';   
}
?>

使用此脚本的示例图像:

<img src = "http://www.mysite.com/general/showimage.php?arquivo=/directory/temp1.jpeg">

我试过这个:

<img src = "http://www.mysite.com/general/showimage.php?arquivo=/directory/temp1.jpeg?k=123041">

但是,这样一来,就不会显示任何图像,即使是旧的也不会。

我在不重新加载页面的上传系统上使用它。

【问题讨论】:

  • 使用&amp;分隔多个参数,而不是?。

标签: php javascript image caching upload


【解决方案1】:

试试

<img src = "http://www.mysite.com/general/showimage.php?arquivo=/directory/temp1.jpeg&k=123041">

您的第一个参数在? 之后开始,任何后续参数都应使用&amp; 添加

【讨论】:

  • 感谢您的快速解答。这行得通。我把“?”在参数 k 之前,因为我认为它是参数 arquivo 内部的参数。当您想通过浏览器在 Javascript 中重新加载图像时,我想我应该像您一样:mysite.com/image.png?k=123041">
  • @MaxLuppertini 很容易犯这样的错误
【解决方案2】:

这是因为生成的url无效,你有两个?s:

http://www.mysite.com/general/showimage.php?arquivo=/directory/temp1.jpeg?k=123041
                                           ^                             ^

您必须在第二个参数之前使用“&”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2013-08-16
    • 1970-01-01
    相关资源
    最近更新 更多