fputcsv创建了一个带空格的空间

时间:2016-03-28 11:22:04

标签: php csv

我的脚本中有以下代码。

    $file= fopen("./test.csv","x+");
    $proj_lists="name,age,address,city name,country name\n";
    fputcsv($file,explode(',',$proj_lists),',',' ');
    fclose($file);

它创建一个具有给定值的csv文件。 我的问题是它用双字创造了额外的空间。 示例“国家/地区名称”写为“国家/地区名称”(此单词中有2个空格)。

如何解决此问题。

2 个答案:

答案 0 :(得分:1)

  

我的问题是它用双字创造了额外的空间

那是因为您选择使用空格作为字符串封装字符(第四个参数,默认值是双引号)。这是输出的第一行:

name,age,address, city  name , country  name
                 ^    ^^    ^ ^       ^^
                 e    ee    e e       ee

其中e是机箱,而ee是转义机箱,后面是机箱字符(它恰好是您尝试的数据的一部分)输出)。

最好只使用fputcsv附带的默认值;也就是说,只用两个参数调用函数。

fputcsv($file, explode(',', $proj_lists));

这将输出大多数电子表格应用程序可以读取的内容:

name,age,address,"city""name","country name
"

答案 1 :(得分:0)

实际上您需要使用fputs(),如下所示: -

<?php
    $file= fopen("./test.csv","x+");
    $proj_lists=explode(',',"name,age,address,city name,country name");
    fputs($file,implode($proj_lists, ','));
    fclose($file);
?>

输出: - name,age,address,city name,country name