2018年7月份,淘寶突然改了后台導出的訂單文件格式,改變點如下:
1、字段有變化,增加支付信息,所以列信息有變化
2、原來分隔符是\t,制表符,現在是逗號,換行符是\n ,unix的換行符(LF)
折騰了幾次,發現php 用讀取csv的函數讀取,讀取的數據不全,有些行讀取不到。
最后,還是用讀取整個文件來處理。函數如下
function read_csv($cvs){
setlocale(LC_ALL, 'zh_CN');
$rsl=array();
$tmpfile=file_get_contents($cvs);
$rows=explode("\n",$tmpfile);
foreach ($rows as $rk => $row) {
$tmp=explode(",",$row);
foreach ($tmp as $ik => $item) {
$tmp_item=iconv('GB2312','UTF-8',$item);
$tmp_item=str_replace(array('"','='),array(''),$tmp_item);
$rsl[$rk][$ik]=$tmp_item;
}
}
return $rsl;
}