日期:2014-05-17  浏览次数:20517 次

Thinkphp 关闭Gzip header输出问题
Thinkphp默认开启gzip压缩
'OUTPUT_ENCODE'         =>  true, // 页面压缩输出


需求是这样的
在一个Action里面,用header输出一个图片

问题
由于thinkphp使用了Ob_start

// 页面压缩输出支持
        if(C('OUTPUT_ENCODE')){
            $zlib = ini_get('zlib.output_compression');
            if(empty($zlib)) ob_start('ob_gzhandler');
        }


导致如今的问题

if(C('OUTPUT_ENCODE')){
        ob_flush();
        ob_clean();
      }
 
$thumburi = 'Thumb/666.jpg';
    $type = getimagesize($thumburi);
    header("Content-type: ".   $type['mime']);
    readfile($thumburi);
    die();

无法用header输出图像,一整天了,仍然没有解决,哪位有高见解惑?
注:不能关闭页面压缩缓存!!
thinkphp? header

------解决方案--------------------
第三段代码是你自己写的么?
依然开启了 gzip 方式传递,那么你再改变传输类型,不是找抽吗?