我在fancybox中显示图像有很大问题.
PHP使用header()和readfile()“生成”图像.
当我直接从浏览器访问脚本时一切正常,但是当请求来自fancybox时,JavaScript突然停止响应,并且在加载内容区域中很长一段时间后,我得到二进制代码而不是图像.
这是代码:
ob_clean();
header('Content-Type: '.$post->post_mime_type);
$name = basename($post->guid);
$base = home_url();
$path= $_SERVER{'DOCUMENT_ROOT'}.str_replace($base,'',$post->guid);
header ('Content-Disposition: inline; filename='.$name);
header ('Content-length: ' .filesize($path));
readfile($path);
加载到fancybox中的内容屏幕:http://img502.imageshack.us/img502/8535/screenq.png
最佳答案 输出的前4个字节看起来像一个有效的PNG标头.
请确认$post-> post_mime_type是“image / png”.
我不知道框架,它可能会被不常见的“Content-Disposition:inline”标题弄糊涂,请删除该行.