我正在使用以下内容进行 csv 导出,但我想导出为管道去除的输出文本文件格式。 我的代码使用 PHP 的 fputcsv 函数生成一个 txt 文件。 对于分隔符,我正在尝试使用"|"。
这个我的代码:
function to_CSV($table) {
$file_csv = "file_csv.csv";
$fp = fopen('php://output', 'w');
$query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='htmltable' AND TABLE_NAME='$table'";
$result = mysqli_query(db_connect(),$query);
while ($row = mysqli_fetch_row($result)) {
$header[] = $row[0];
}
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$file_csv);
fputcsv($fp, $header);
$query ="SELECT * from $table";
$result = mysqli_query(db_connect(),$query);
while($row = mysqli_fetch_row($result)) {
fputcsv($fp, $row);
}
exit;
}
fclose($fp);
$contents = file_get_contents($file_csv);
$contents = str_replace(",", "|", $contents);
file_put_contents($file_csv, $contents);
如何在编码点火器中实现。 请帮帮我。 多谢。
根据文档
fputcsv
格式行为 CSV 并写入文件指针,它有第三个参数,它需要一个分隔符 - 看看 https://www.php.net/manual/en/function.fputcsv
在您的情况下,这意味着
while($row = mysqli_fetch_row($result)) {
fputcsv($fp, $row, '|');
}
然而,主要问题是 - 如果你使用Codeigniter作为底层框架 - 你为什么不使用模型原则和提供的查询生成器呢? - 它会让你的生活更轻松。
您可以在他们编写得很好的文档中找到更多信息。看看 https://codeigniter.com/user_guide/general/models.html?highlight=model