我编写了一个生成验证图像的php脚本,并从我的网络表单中调用:
<img src="captcha.php?key=12345"></img>
php脚本(相关部分)看起来像这样。 $ image之前已正确创建:
header('Content-Type: image/jpeg');
header('Cache-Control: no-cache');
header('Pragma: no-cache');
imagejpeg($image);
imagedestroy($image);
这在Firefox中正常运行,但在Safari中无效。好吧,大部分时间......有时(通常在第一次加载时)safari工作正常,但是如果我刷新页面,我在Web检查器中收到以下错误:资源被解释为图像但是使用MIME类型文本传输/ php。这是我的代码中的apache设置问题吗?任何有关如何解决这个问题的建议都将不胜感激。
以下是请求和响应标头:
请求:
Cache-Control:max-age=0
Referer:http://www.fpcsd.org/invite.php
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us)
AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1
响应:
Cache-Control:max-age=604800
Connection:keep-alive
Date:Mon, 06 Jun 2011 16:45:41 GMT
Expires:Mon, 13 Jun 2011 16:45:41 GMT
Server:nginx/0.7.65
X-Powered-By:PHP/5.3.3