我想让我的代码以.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用于外部的东西,我的不是我不相信..所以我不确定是什么问题是?
答案 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);