获取fputcsv的返回值

时间:2011-09-09 13:26:07

标签: php csv

有没有人知道函数或一个很酷的技巧来获取fputcsv的返回值而不是将输出写入文件?

我正在尝试将文件编码为制表符分隔文件,但我的客户端需要其中一个用csv编码的列(因此在制表符分隔文件中有1列csv值)。不太理想,我同意,但在这一点上我只需要完成它。

谢谢!

2 个答案:

答案 0 :(得分:8)

从文档页面上的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 :(得分:3)

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

如果您不想直接输出,请尝试其他supported wrappers之一,例如php://memory