首页 > 解决方案 > 2000行数据后的“如何导出其他下一个文件”

问题描述

我正在使用 PHP 导出 CSV 文件,这是可行的,但我导出 2000 行或更多行如何创建自动下一个 CSV 文件。

如何在 2000 行之后移动其他文件?

<?php
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename = records.csv');
echo $header = "Name";
echo  "\r\n";
$sql = mysql_query(“Select * from table”);
while ($getData = mysql_fetch_assoc($sql)) {
   echo '"'.$name.'"';
   echo  "\r\n";
}
exit;
?>

标签: php

解决方案


您可以使用array_chunk函数保存 2000 年的记录并以 csv 格式导出。

例如

$rowData = [
    [1,2,3],
    [11,21,31],
    [21,22,32],
    [31,42,73],
    [111,222,333]
];
foreach(array_chunk($rowData, 2) as $key => $records){
   $file_name = 'export_data_'.$key.'.csv';
   writeToCsv($file_name,$records);
}
//funtion to export data to csv
function writeToCsv($fileName, $rowData){
    $fp = fopen($fileName, 'w');
    foreach ($rowData as $fields) {
        fputcsv($fp, $fields);
    }
   fclose($fp);
 }

在你的情况下使用array_chunk($rowData, 2000)


推荐阅读