1 php opera internet-explorer gd
我创建了一个旋转定义图像的函数.它在firefox中运行完美,但在IE和Opera中没有任何反应 - 图像重新加载但不旋转.有人知道为什么吗?这里是代码:
function rotateImage($direction, $id, $angle) {
$dir = opendir($direction);
if ($img = imagecreatefromjpeg($_SESSION['files'][$id]['large'])) {
$width = imagesx ( $img );
$height = imagesy ( $img );
$rotate = imagerotate($img, $angle, 0);
imagejpeg($rotate, $_SESSION['files'][$id]['large'], 100);
}
else {
echo '<p>Error: image cannot be rotated</p>';
}
closedir($dir);
}
Run Code Online (Sandbox Code Playgroud)
问题绝对不是您使用的浏览器,因为轮换是在服务器端完成的.
您可能遇到缓存问题或用于调用该函数的代码的问题.
你是:
使用JavaScript启动重新加载?
您的JavaScript代码可能是此处的问题.
发送正确的无缓存标头?
如果没有,您可能会遇到图像缓存在浏览器上的情况,这就是您没有看到更改的原因.发送正确的Cache-control和Expires标题,或者将随机标识符附加到图像URL(?_=$x其中$x= time()将正常工作...首选标题).
发送正确的Content-type标题?
在某些浏览器中,不发送正确的标头可能会导致不稳定的行为.您可能想尝试使用header('Content-type: image/jpeg')
仅发送没有任何额外字符的图像数据?
确保不输出除图像以外的任何内容.您的输出流不得包含任何额外字符,包括空格.