2010-04-06 161 views

回答

8

是的,您可以在其参数中指定选项卡“\ t”。请参阅doc

while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) 
34
$csvData = fgetcsv($fileHandle, 0, "\t"); 

$fileHandle是一个有效的文件句柄。 0只是告诉函数不要限制通过线路寻找(但是你可以改变这个以适应,docs确实说不要限制性能下降)。

+0

是不同于mac的制表符分隔符? – Brian 2010-04-06 01:39:56

+0

@Brian我有一个快速的谷歌,我不这么认为。通常这只是行结尾和换行。 – alex 2010-04-06 04:30:04

+0

尝试使用“\ t”作为分隔符时出现此错误? fgetcsv():分隔符必须是单个字符 – 2016-02-02 09:51:39

12

确保在“\ t”周围使用双引号,单引号不起作用。

$fh = fopen($file, 'r'); 
while ($line = fgetcsv($fh, 0, "\t") !== false) { 
    // do stuff 
} 
+0

您的'while'循环语句缺少两个括号。它应该看起来更像'while(($ line = fgetcsv($ fh,0,“\ t”))!== false)',否则'$ line'将作为布尔值返回。 – user555 2014-01-10 05:35:46

+0

这是一个好奇的例子,因为*是*它可以100%的时间写入,但可能无法正常工作*解释* – 2014-10-14 01:49:57

相关问题