有没有人知道函数或一个很酷的技巧来获取fputcsv
的返回值而不是将输出写入文件?
我正在尝试将文件编码为制表符分隔文件,但我的客户端需要其中一个用csv编码的列(因此在制表符分隔文件中有1列csv值)。不太理想,我同意,但在这一点上我只需要完成它。
谢谢!
答案 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
。