php - 如何使用 PHP 一次尝试将多行/数组写入 CSV 文件?

标签 php file csv file-handling fputcsv

<分区>

我必须在 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/

相关文章:

php - SESSION 变量在需要 SIMPLESAMLPHP 后不起作用

java - 如何让我的 Java 程序使用来自 PHP 的图像路径?

file - 对于文件 uploader ,您会选择 SWFUpload 还是 Plupload?

linux - 使用linux删除文件

csv - 从 CSV 文件导入 Neo4j 中的目录/文件结构的好方法是什么?

javascript - 制作sql删除按钮来提交表单

php - 安全地发送表单数据而不是使用 post

java - 如何在Java中正确读取文件中的整数

Python 2.7 CSV : How to remove duplicate rows based on a value

java - 如何配置 Super CSV 以引用除列名之外的所有值?