我想使用此代码
windows csv和mac 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解析一个CSV文件。
但是当我创建从MAC一个csv并解析它不工作。(它不能识别线的端部),
还当我打开相同的窗户CSV与Mac和使用相同的代码是解析不工作。
但是当我将它保存为Windows csv。它再次运作。
所以实际上wat是mac csv和windows csv的区别?
这两个分隔符是不同的吗?
我应该如何更改代码以使其适用于两者?
差异是结束字符的行....注意:如果PHP读取文件时无法正确识别行结尾,或者由Macintosh创建计算机,启用auto_detect_line_endings运行时配置选项可能有助于解决问题。 – 2013-05-13 13:52:56
看看'auto_detect_line_endings' – 2013-05-13 13:54:20