PHP 旋转 jpeg 的功能只能使用一次

PHP function to rotate jpeg only works once

我写了这个简短的功能,它是我从电子邮件 link 触发的,只要有新照片上传到我的服务器就会通知我:

$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度,并以原文件名保存。出于某种原因,这只有效一次。如果我再次触发相同的 link,它会保持第一次触发时的旋转。为什么?

您可以禁用浏览器的缓存或通过向源添加随机数来欺骗缓存。这样一来,每个请求的 URL 都会发生变化,浏览器将找不到它。

$rand = time() . rand();
echo "<img src='media/{$fotofil}?r={$rand}' style='max-height:90vh;' />";