使用PHP将CSV文件中的双引号括起来

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP将CSV文件中的双引号括起来脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要使用 PHP将CSV文件中的所有字符串和数字双引号括起来.

何在双引号内的所有数据中从PHP创建CSV文件

我正在使用此代码生成CSV – 我正在使用codeignITer框架

$array = array(
    array(
     (string)'XXX XX XX',(string)'3',(string)'68878353',(string)'',(string)'xxxx@xxxx.xxx.xx',),);

$this->load->helPEr('csv');
array_to_csv($array,'blueform.csv');

输出我得到:

"XXX XX XX",3,68878353,xxxx@xxxx.xxx.xx

预期产量:

"XXX XX XX","3","68878353","","xxxx@xxxx.xxx.xx"

array_to_csv的代码

if (!function_exists('array_to_csv')) {
    function array_to_csv($array,$download = "") {
        if ($download != "") {   
            header('Content-type: application/csv');
            header('Content-Disposition: attachement; filename="' . $download . '"');
        }

        ob_start();
        $f = fopen('PHP://output','w') or show_error("Can't open PHP://output");
        $n = 0;
        foreach ($array as $line) {
            $n++;
            if (!fputcsv($f,$line)) {
                show_error("Can't write line $n: $line");
            }
        }
        fclose($f) or show_error("Can't close PHP://output");
        $str = ob_get_contents();
        ob_end_clean();

        if ($download == "") {
            return $str;
        } else {
            echo $str;
        }
    }
}

先谢谢你

PHP中构建CSV时,您应该使用PHP 5中提供的 fputcsv函数

从文档中可以看到以下参数:

int fputcsv ( resource $handle,array $fields [,string $delimiter = "," [,string $enclosure = '"' [,string $escape_char = "\" ]]] )

你有:

>您正在写的文件
>将数据放入CSV
>分隔符(通常为逗号)
>字符串外壳(这是你想要的引号)
>转义字符串(因此,如果您的数据包含机箱字符,则可以将其转义为避免看起来像新字段)

作为认值,对于分隔符和“对于机箱,您不需要添加更多,这将正确地覆盖字符串.数字是一个不同的事情.有一个工作在this SO question,我发现后输入大部分内容,然后再出现数字问题:

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP将CSV文件中的双引号括起来全部内容,希望文章能够帮你解决使用PHP将CSV文件中的双引号括起来所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。