【发布时间】:2023-03-03 10:45:01
【问题描述】:
我编写了这个简短的函数,我从一个电子邮件链接触发,每当有新照片上传到我的服务器时,它都会通知我:
$fotofil = $_GET['fotofil'];
$image = imagecreatefromjpeg("media/$fotofil");
$image = imagerotate($image, 270, 0);
imagejpeg($image, "media/$fotofil");
echo "The photo has been rotated:<br />";
echo "<img src='media/$fotofil' style='max-height:90vh;' />";
该函数将图像顺时针旋转 90 度并以原始文件名保存。出于某种原因,这只适用于一次。如果我再次触发相同的链接,它会从第一次触发时保持旋转。为什么?
【问题讨论】:
-
仅仅是浏览器缓存的情况吗?文件名保持不变,因此根据缓存标头/等,您的浏览器可能不会请求新版本。尝试硬刷新(Ctrl + F5,或类似)
-
在浏览器中打开检查器并右键单击刷新按钮并选择硬刷新。
-
禁用浏览器缓存。或者在 src 标签后附加一些随机值,这样每次调用都会改变。
-
@Markus,对!大概就是这样,我会添加一些随机值,看看它是如何工作的。
-
顺便说一句,它需要在 src 标签中,而不是在请求 url 中。我没想到。
标签: php imagejpeg imagecreatefromjpg