首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZipStream和Kohana3.3

ZipStream和Kohana3.3
EN

Stack Overflow用户
提问于 2013-10-18 19:20:41
回答 1查看 197关注 0票数 1

我正在尝试使用ZipStream (https://github.com/Grandt/PHPZip)在Kohana3.3中动态实现创建和流压缩文件。我以为压缩文件在第一张图片被添加到zip时就会被传输,但是在创建整个zip文件并将其发送给用户之前,下载会被延迟。

代码语言:javascript
复制
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Download extends Controller {
    public function action_images()
    {
        require Kohana::find_file('vendor', 'ZipStream');
        $zip = new ZipStream("images.zip");
        foreach($images as $image)
        {
            $zip->addLargeFile($image);
        }
        $zip->finalize();
        exit;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-19 11:42:35

显然,Kohana缓冲区输出,这可以通过添加这个下载操作来否定。

代码语言:javascript
复制
while (ob_get_level() > 0) {
    ob_end_clean();
}

整体控制器

代码语言:javascript
复制
<?php defined('SYSPATH') or die('No direct script access.');

    class Controller_Download extends Controller {
        public function action_images()
        {
            while (ob_get_level() > 0) {
                ob_end_clean();
            }
            require Kohana::find_file('vendor', 'ZipStream');
            $zip = new ZipStream("images.zip");
            foreach($images as $image)
            {
                $zip->addLargeFile($image);
            }
            $zip->finalize();
            exit;
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19457501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档