首先需求是:从一个文本中读取相关内容(a.txt),利用分隔符把读取的内容转成数组,再将数组处理后用fputcsv函数追加的指定的csv文件当中(b.csv)。
需求的条件:1、读取的文件是windows下默认的UTF-8文件(带有BOM),csv文件也是UTF-8(带有BOM)的文件
问题来了:程序调试过程中,因为读取的内容有中文,所以要用iconv函数进行转码,正常输出数组没有问题。但当要写入b.csv文件时,第一个属性值莫名奇妙没了。
看代码php
header("Content-Type:text/html;charset=utf-8");
$file = "D:/phpcsv/b.csv";
$fp = fopen($file, "a");
$fileAttribute = "D:/phpcsv/a.txt";
$product_attrs = file_get_contents($fileAttribute);
$product_attrs = str_replace(PHP_EOL, ',', $product_attrs);
$arra_attrs = explode(',', $product_attrs);
$arra_attrs_cn = explode("\t", $product_attrs_cn);
foreach ($arra_attrs as $k => $v)
{
$v = str_replace(PHP_EOL, '', $v);
echo $v."