获取fputcsv的返回值

问题描述:

有没有人知道函数或酷招,获取返回值fputcsv而不是将输出写入文件?获取fputcsv的返回值

我试图编码一个文件作为制表符分隔的文件,但我的客户想要在csv中编码的列之一(所以在制表符分隔文件中的csv值的1列)。不理想,我同意,但在这一点上,我只需要完成它。

谢谢!

从文档页面上user note无耻复制:

$buffer = fopen('php://temp', 'r+'); 
fputcsv($buffer, $data); 
rewind($buffer); 
$csv = fgets($buffer); 
fclose($buffer); 

// Perform any data massaging you want here 
echo $csv; 

所有这一切都应该很熟悉,也许除了php://temp

+1

接受此答案是因为它更完整。很棒!不过要注意的是,确保你在'fgets'之后'trim'来摆脱'fputcsv'添加的新行! –

$output = fopen('php://output', 'w'); 
fputcsv($output, $line); 
fclose($output); 

或者尝试其他supported wrappers之一,像php://memory如果你不希望直接输出。