我想将 csv 文件上传到数据库,所以我使用 word-press 插件来做到这一点。我的文件大小为 350 MB。虽然我复制了一些数据并将其保存到新文件中,但现在它的文件大小为 14 MB,总行数为 66872 。
当我尝试上传该文件时,在数组中上传 63296 行数据后脚本不起作用。我检查了论坛,大部分都说它是 memory_limit 问题。我什至更改了 memory_limit = 2000M 但没有帮助。
这是插件的代码
function csv_file_data($file, $delim) {
$this->checkUploadDirPermission ();
ini_set ( "auto_detect_line_endings", true );
$data_rows = array ();
$resource = fopen ( $file, 'r' );
//print $file;
$init = 0;
while ( $keys = fgetcsv ( $resource, '', $this->delim, '"' ) ) {
print $keys;
print $init;
if ($init == 0) {
$this->headers = $keys;
} else {
array_push ( $data_rows, $keys );
}
$init ++;
}
//print_r($data_rows);
print $init;
fclose ( $resource );
ini_set ( "auto_detect_line_endings", false );
return $data_rows;
}