我需要使用 PHP 将所有带有双引号的字符串和数字放入 CSV 文件中。
如何从 PHP 创建 CSV 文件,并将所有数据放在双引号内?
我正在使用此代码生成 CSV - 我正在使用 codeigniter 框架
$array = array(
array(
(string)'XXX XX XX',
(string)'3',
(string)'68878353',
(string)'',
(string)'[email protected] /cdn-cgi/l/email-protection',
),
);
$this->load->helper('csv');
array_to_csv($array, 'blueform.csv');
我得到的输出:
"XXX XX XX",3,68878353,,[email protected] /cdn-cgi/l/email-protection
预期输出:
"XXX XX XX","3","68878353","","[email protected] /cdn-cgi/l/email-protection"
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;
}
}
}
先感谢您