Php 通过codeigniter生成管道分隔文件

Php 通过codeigniter生成管道分隔文件,php,codeigniter,text-files,Php,Codeigniter,Text Files,我正在使用下面的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

我正在使用下面的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);
如何在codeigniter中实现。请帮帮我。 非常感谢

根据docs
fputcsv
将行格式化为CSV并写入文件指针,它还有第三个参数,需要一个分隔符-请看

在你的情况下,这意味着

while($row = mysqli_fetch_row($result)) {
    fputcsv($fp, $row, '|');
}
然而,主要的问题是——如果您使用Codeigniter作为底层框架——为什么不使用模型原理,除此之外,使用提供的查询生成器呢这会让你的生活更轻松

你可以在他们写得很好的文档中找到更多信息。看看