PHP图像标头和JavaScript加载

我在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”标题弄糊涂,请删除该行.

点赞