在 csv 导出方面需要帮助
Need help in csv export
我有一个奇怪的问题。实际上我在 yii 中使用 export csv 和 ECSVExport。它工作正常。当我导出 csv 时,它的 headers 看起来像这样。
organisation_path, client_key and so on
现在我需要在 header 之前添加一行(我的意思是上面的标题)。所以我在导出 csv 之后但在将文件保存到指定位置之前使用了以下行。
$handle = fopen($path, 'r+');
fputcsv($handle, array('version', '1'));
fclose($handle);
在我的 csv 中添加这个之后,添加了一个新行,例如
version, 1
但是我的 header 标题变成了
on_path, client_key and so on
所以现在我的问题是当我在开始时添加了新行然后为什么我的 csv 标题受到干扰(我的意思是之前它是 organisation_path 但在添加行之后它变成了 on_path)。有没有更好的方法在我的 csv 文件的开头添加行?实际上我不想 运行 任何循环,因为我只想在 header 标题之前添加一行。
非常感谢任何帮助。谢谢
以 r+
模式打开文件意味着
Open for reading and writing; place the file pointer at the beginning of the file.
因此,当您编写版本字符串时,当前内容将被覆盖。你可以看到 version, 1
和 organizati
的长度是相同的。
因此,您可以在导出到文件之前编写您的版本。
或您的文件的 file_get_contents()
,在此字符串前面加上您的版本字符串,然后 file_put_contents()
将新数据写入文件。
我有一个奇怪的问题。实际上我在 yii 中使用 export csv 和 ECSVExport。它工作正常。当我导出 csv 时,它的 headers 看起来像这样。
organisation_path, client_key and so on
现在我需要在 header 之前添加一行(我的意思是上面的标题)。所以我在导出 csv 之后但在将文件保存到指定位置之前使用了以下行。
$handle = fopen($path, 'r+');
fputcsv($handle, array('version', '1'));
fclose($handle);
在我的 csv 中添加这个之后,添加了一个新行,例如
version, 1
但是我的 header 标题变成了
on_path, client_key and so on
所以现在我的问题是当我在开始时添加了新行然后为什么我的 csv 标题受到干扰(我的意思是之前它是 organisation_path 但在添加行之后它变成了 on_path)。有没有更好的方法在我的 csv 文件的开头添加行?实际上我不想 运行 任何循环,因为我只想在 header 标题之前添加一行。
非常感谢任何帮助。谢谢
以 r+
模式打开文件意味着
Open for reading and writing; place the file pointer at the beginning of the file.
因此,当您编写版本字符串时,当前内容将被覆盖。你可以看到 version, 1
和 organizati
的长度是相同的。
因此,您可以在导出到文件之前编写您的版本。
或您的文件的 file_get_contents()
,在此字符串前面加上您的版本字符串,然后 file_put_contents()
将新数据写入文件。