我正在尝试使用ZipStream (https://github.com/Grandt/PHPZip)在Kohana3.3中动态实现创建和流压缩文件。我以为压缩文件在第一张图片被添加到zip时就会被传输,但是在创建整个zip文件并将其发送给用户之前,下载会被延迟。
<?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;
}
}发布于 2013-10-19 11:42:35
显然,Kohana缓冲区输出,这可以通过添加这个下载操作来否定。
while (ob_get_level() > 0) {
ob_end_clean();
}整体控制器
<?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;
}
}https://stackoverflow.com/questions/19457501
复制相似问题