$file = new SplFileObject('D:BackUpaddressbook.csv');
print_r($file->getCsvControl());
我正在尝试做的是使用 php 找到 csv 文件的分隔符。 地址簿.csv文件看起来像
"id";"firstname";"lastname";"phone";"email"
"1";"jishan";"ishrak";"17878";"jishan.ishrak@gmail.com"
另一个文件是地址簿1.csv就像
"id","firstname","lastname","phone","email"
"1","jishan","ishrak","17878","jishan.ishrak@gmail.com"
一个用","分隔,另一个用";"分隔,但函数
getCsvControl()
总是返回一个数组,例如
Array ( [0] => , [1] => " )
我的意思是在 [0] 索引中,它总是为两个文件提供","有没有办法解决这个问题。
一个错误。 SplFileObject::getCsvControl()
绝不用于检测 CSV 文件中的分隔符。它仅返回默认控制字符或以前使用 SplFileObject::setCsvControl()
设置的字符。并且使用这组CSV控制字符,如果在SplFileObject::fgetcsv()
方法中没有移交任何内容。
好吧,它的文档记录很糟糕,但这是我的第一个想法,该方法永远不会检测到字符,并且查看 php 源代码证实了这一点。
这可能是一个错误?正如你在这里看到的 PHP 文档 1st 评论 1 年前 - Seems that this function always returns the same delimiter.
更新这不是一个错误查看Pazi ツ
答案。