如何在写入csv后执行代码而不将其包含在csv中

时间:2014-10-13 12:37:53

标签: php

我使用以下代码写入CSV文件:

header('Content-Type: application/excel');
header('Content-Disposition: attachment; filename="sample.csv"');
$data = array(
        'aaa,bbb,ccc,dddd',
        '123,456,789',
        '"aaa","bbb"'
);

$fp = fopen('php://output', 'w');
foreach ( $data as $line ) {
    $val = explode(",", $line);
    fputcsv($fp, $val);
}
fclose($fp);


   echo "Do something else";
   exit();

我想在fclose($fp);之后执行代码。但在上面的示例中,echo "Do something else";包含在CSV文件中。如何确保fclose之后的任何代码都不包含在输出的csv文件中?

2 个答案:

答案 0 :(得分:1)

您已将标题包含为内容处置。所以你不能回应一些东西。它将始终打印在Excel工作表中。

但是,您可以执行其他任务,例如在数据库中插入/更新/选择/删除以及其他不打印任何内容的任务。

答案 1 :(得分:1)

您可以在单独的文件中生成csv文件之后运行您想要运行的代码,然后在创建csv之后使用fopen()调用该文件以运行。