<分区>
我必须在 csv 文件中写入多条记录。我正在使用 php 的 fputcsv 函数,它将数组作为一行并将其写入文件。这样每一行都会有多次写操作。
我正在寻找一种可以在一次写入操作中将多行写入 csv 文件的方法。
请帮忙。
<分区>
我必须在 csv 文件中写入多条记录。我正在使用 php 的 fputcsv 函数,它将数组作为一行并将其写入文件。这样每一行都会有多次写操作。
我正在寻找一种可以在一次写入操作中将多行写入 csv 文件的方法。
请帮忙。
最佳答案
这是一个使用内存流的例子。它应该为您提供一个结构,您可以自定义该结构以分段处理缓冲区并在缓冲区太大时重置进度。
<?php
// Sample data
$arrData = array(
array("Fruit","Color","Calories"),
array("Apple","Red",95),
array("Orange","Orange",45),
array("Plum","Purple",45)
);
// Open output file
$fpOut = fopen("bufferedWrite.csv", "w");
// Write to memory stream
$msBuffer = fopen("php://memory","w+");
foreach($arrData as $arrRecord)
{
fputcsv($msBuffer, $arrRecord);
}
// Rewind back to the beginning of the buffer and save the contents into a file in one big write
rewind($msBuffer);
fwrite($fpOut, stream_get_contents($msBuffer));
// Close the memory stream
fclose($msBuffer);
// Close the output file
fclose($fpOut);
关于php - 如何使用 PHP 一次尝试将多行/数组写入 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46451299/