如何从sql查询创建多个csv文件并通过HTTP请求php发送而无需将文件写入服务器?

时间:2016-04-07 16:32:54

标签: php mysql csv zip

如何通过http请求从sql语句传递多个csv文件?将文件写入服务器以压缩可能不适合我。

此时我的代码会生成一个csv文件。

function exportFile($plan) {
$query = "SELECT * from table WHERE name = '${plan}'";

$result = mysqli_query($connection, $query);
if (!$result) {
    die("Query Failed during export of batch file: " . mysqli_error($connection));
} else {

    $dateNow = date("Y-m-d_His");
    $fileName =  $plan . '_' . $dateNow . ".csv";
    header('Content-Type: text/csv; charset=utf-8');
    header("Content-Disposition: attachment; filename*=UTF-8''" . rawurlencode($fileName));

    $output = fopen('php://output', 'w');
    $header1 = array(1, 2, 3, 4, 5, 6, 7, 8);       
    $header2 = array(1, 2, 3, 4, 5, 6, 7, 8);

    fputs($output, implode($header1, ',') . "\n");
    fputs($output, implode($header2, ',') . "\n");
    fputs($output, implode($header3, ',') . "\n");

    while ($row = mysqli_fetch_row($result)) {
        fputs($output, implode($row, ',') . "\n");
    }
    fclose($output);
    exit();
}    
}

0 个答案:

没有答案