gpt4 book ai didi

php - 在 PHP 中捕获文件输出 (fputcsv)

转载 作者:行者123 更新时间:2023-12-02 05:25:19 27 4
gpt4 key购买 nike

我正在 try catch fputcsv() 的输出,以便使用 gzwrite() 实际写入制表符分隔的文件。基本上,我正在查询一个数据库,我想将这些行放入一个压缩的 CSV 文件中,我宁愿使用 fputcsv() 而不是实际附加 "\t""\n" 无处不在。我可以通过输出缓冲或类似的东西以某种方式做到这一点吗?

这是我所拥有的基本轮廓:

$results = get_data_from_db();
$fp = gzopen($file_name, 'w');
if($fp) {
foreach ($results as $row) {
???//something with gzwrite() ?
}
gzclose($fp);
}

谢谢!

编辑:我的理解是需要使用 gzwrite() 来实际写入文件,以便实际对其进行 gzip 压缩 - 这不正确吗?

最佳答案

如阅读 php.net ,你可以试试这个小技巧:

<?php
// output up to 5MB is kept in memory, if it becomes bigger
// it will automatically be written to a temporary file
$csv = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+');

fputcsv($csv, array('blah','blah'));

rewind($csv);

// put it all in a variable
$output = stream_get_contents($csv);
?>

这实际上是您试图避免的(捕获输出),但是捕获是一个非常强大的工具,为什么不使用它呢?

关于php - 在 PHP 中捕获文件输出 (fputcsv),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/417793/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com