我有一个php页面,其中包含一些用于上传图片的表单。每个表单上传一个图像。上传的图像会替换页面中已加载的图像。
这是一个片段:
<?php
// NO CACHING CODE
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// FORM SUBMIT CODE
if (isset($_POST['submit_img1'])) {
// used for some photo manipulation and checks
require_once('WideImage/WideImage.php');
//... some code ...
unlink("path/" . $img1);
$img_name = "path/" . $img1;
$wideImage->saveToFile($img_name, 80);
// ... some code ...
}
// PRINT IMAGE IN THE PAGE
echo '<p><img src="path/' . $img1 . '" width="100" height="100" class="prof_img" /></p>';
?>
//FORM FOR CHANGE THE IMAGE
<form id="form_img1" name="form_img1" method="post" onSubmit="return checkFormImg1()"
action="" enctype="multipart/form-data">
<input class="prof_input" type="file" name="img1" id="img1" />
<input name="submit_img1" type="submit" class="prof_submit" value="Inserisci Immagine 1"
/>
</form>
问题是在重新加载时(按下提交按钮后)会显示旧图像。但新图片已经正确上传,取代旧图片。
请原谅我的英语。
答案 0 :(得分:1)
这是一个简单的小技巧,你可以用它。只需将随机字符串附加到图像文件源的末尾,就像$ _GET参数一样。
比随机字符串更好的是时间戳,因为你不会冒两次使用相同数字的风险。
在你的img标签
中使用它src='img.jpg?rand=1234'
答案 1 :(得分:0)
您的NO CACHING CODE仅影响其调用的页面。
所以,你必须处理图像,而不是带链接的页面。