0

我正在尝试让我的代码以 .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 用于外部的东西,我的不是我不相信..所以我不确定问题是什么?

4

1 回答 1

3

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

如果您的计划是稍后获取输出以进行强制下载,那么您不需要倒带;阅读它就stream_get_contents()足够了

你的最终代码应该是

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

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

$output = stream_get_contents($fp);

fclose($fp);
于 2014-02-20T18:08:31.300 回答