我正在使用当前代码读取 csv 文件并将其添加到数组中:
echo "starting CSV import<br>";
$current_row = 1;
$handle = fopen($csv, "r");
while ( ($data = fgetcsv($handle, 10000, ",") ) !== FALSE )
{
$number_of_fields = count($data);
if ($current_row == 1) {
//Header line
for ($c=0; $c < $number_of_fields; $c++)
{
$header_array[$c] = $data[$c];
}
} else {
//Data line
for ($c=0; $c < $number_of_fields; $c++)
{
$data_array[$header_array[$c]] = $data[$c];
}
array_push($products, $data_array);
}
$current_row++;
}
fclose($handle);
echo "finished CSV import <br>";
但是,当使用非常大的 CSV 时,这会在服务器上超时,或者出现内存限制错误。
我想要一种分阶段进行的方法,所以在第一条说 100 行之后它将刷新页面,从第 101 行开始。
我可能会使用元刷新和 URL 参数来执行此操作。
我只需要知道如何调整上面的代码以从我告诉它的行开始。
我已经研究过 fseek() 但我不确定如何在这里实现它。
你能帮忙吗?