生成和下载CSV - 流不支持搜索(非远程)

时间:2013-08-03 08:55:59

标签: php

我想让我的代码以.csv格式下载文件,我确实管理了这个并且它工作得很好,除了它包含一个包含(#Resource ID XX)的附加字段,我不想要。我做了一些浏览并阅读了许多答案,说明应该使用以下代码:

$fp = fopen('php://output', 'w'); 


foreach ($list as $fields) {
    fputcsv($fp, $fields);
} 

rewind($fp);
$output = stream_get_contents($fp);
fclose($fp);

这给了我以下错误:rewind(): stream does not support seeking in /var/www/opencart/admin/model/catalog/upload.php on line 30,从我的理解这通常是因为fopen用于外部的东西,我的不是我不相信..所以我不确定是什么问题是?

1 个答案:

答案 0 :(得分:0)

根据我的经验,rewind()不适用于php://output,但适用于php://memory

如果你的计划是获取de输出以便稍后强行下载,那么你不需要回放流;用stream_get_contents()阅读它就足够了

你的最终代码应该是

$fp = fopen('php://output', 'w'); 

foreach ($list as $fields)
{
    fputcsv($fp, $fields);
} 

$output = stream_get_contents($fp);

fclose($fp);