开发者

PHP image headers and JavaScript loading

开发者_C百科I have big problem with displaying images in fancybox. Images are "generated" by PHP with header() and readfile().

When I access script directly from browser everything is ok, but when request comes from fancybox JavaScript suddenly browser stop responding and after long time in load content area I get binary code instead of image.

Here is the code:

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);

Screen of content loaded into fancybox: http://img502.imageshack.us/img502/8535/screenq.png


The first 4 bytes of the output looks like a valid PNG header.

Please verify that $post->post_mime_type is "image/png".

I don't know the framework, it could get confused by the uncommon "Content-Disposition: inline" header, please delete that line.


Found this on http://fancybox.net/faq

FancyBox gueses content type from url but sometimes it can be wrong. The solution is to force >your type, like so - $(".selector").fancybox({'type' : 'image'}); (required version 1.3+)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜