array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )
和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
参数 ¶
handle
一个由 fopen()、 popen() 或 fsockopen() 产生的有效文件指针。
length
必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter
设置字段分界符(只允许一个字符)。
enclosure
设置字段环绕符(只允许一个字符)。
escape
设置转义字符(只允许一个字符),默认是一个反斜杠。

解决方案 »

  1.   

    PHP fgetcsv() 函数
      

  2.   

    我想知道enclosure,escape参数怎么用。给个例子。
      

  3.   

    $s =<<< TXT
    aaa,bbb,ccc
    "aaa","bbb","ccc"
    'aaa'|'bbb'|'ccc'
    TXT;file_put_contents('csv_test.txt', $s);$fp = fopen('csv_test.txt', 'r');print_r(fgetcsv($fp));
    print_r(fgetcsv($fp));
    print_r(fgetcsv($fp, "|", "'"));
    Array
    (
        [0] => aaa
        [1] => bbb
        [2] => ccc
    )
    Array
    (
        [0] => aaa
        [1] => bbb
        [2] => ccc
    )
    Array
    (
        [0] => 
        [1] => aaa
        [2] => |
        [3] => bbb
        [4] => |
        [5] => ccc
        [6] => 
    )