我使用php在服务器上旋转照片。当我点击“旋转”按钮时,我使用ajax加载php页面,执行旋转并使用新图像刷新div。
一切正常,图像以正确的尺寸旋转,但图像本身没有旋转。如果我按f5刷新页面,则会更正显示图像。有谁知道为什么在刷新之前图像没有正确显示。
$photo_path= $result['photo_path'];
$src = imagecreatefromjpeg($photo_path);
$rotate = imagerotate($src, 90, 0);
@unlink($photo_path);
imagejpeg($rotate,$photo_path);
imagedestroy($src);
imagedestroy($rotate);
有什么想法吗?
答案 0 :(得分:0)
试试这个,
$file="myimage.jpg";
$file1 = imagecreatefromjpeg($file);
$file2 = imagerotate($file1, $degrees, 0);
file_put_contents("newimage.jpg",$file2);
答案 1 :(得分:0)
也许使用JavaScript,因为这是客户端问题。
更新:这是非常基本的,但要测试一下,看看它是否有效;
<script>
function changeImage(o){
o.src = '//' + (new Date()).getTime(); // time to help stop caching
}
</script>
<img src="//" onclick="changeImage(this)" />
答案 2 :(得分:0)
我设法解决了这个问题。谢谢你的帮助。
我所做的只是给照片一个新的文件名并更新mysql表。必须与缓存的图像有关,我保持新的旋转文件具有相同的文件名。
再次感谢。
答案 3 :(得分:0)
您可以在文件扩展名后添加问号和随机数,这会使用户浏览器忽略本地缓存,然后重新加载该文件。例如:
myimage.png?789 <- Random number