我正在尝试使用此代码解析 csv 文件
if (($handle = fopen($csvFilePath, "r")) !== FALSE) {
$c=0;
$string="";
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($c>0)
{
if(($data[$email]!="") and ($data[$firstname]!="") and ($data[$lastname]!=""))
{
$string.='(1,';
$string.="'".$data[$email]."',";
$string.="'".$data[$firstname]."',";
$string.="'".$data[$lastname]."',";
$string.="'".Yii::app()->params['clientimporttext']."'";
$string.='),';
}
}
$c++;
}
fclose($handle);
}
它适用于 Windows csv。
但是当我从mac创建一个csv并解析它不工作时。(它无法识别行尾),
同样,当我使用 mac 打开相同的 windows csv 并使用相同的代码进行解析时,它不起作用。
但是当我将它保存为 windows csv 时。它再次起作用。
所以实际上 wat 是 mac csv 和 windows csv 之间的区别吗?
这两个的分隔符不同吗?
我应该如何更改代码以使其适用于两者?