Я хочу загрузить файл csv в базу данных, поэтому я использую плагин word-press для этого. У меня размер файла 350 МБ. Хотя я скопировал некоторые данные и сохранил их в новом файле, и теперь он имеет размер файла 14 МБ, а общее количество строк - 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;
}
Если это происходит во время загрузки я думаю, что проблема с [загрузки файлов] (http://php.net/upload). –
Вы пытаетесь прочитать полный файл в массиве? это плохая идея для больших файлов, очевидно, это должно выполняться по строкам. Это также может быть до max_execution_time, если скрипт работает слишком долго, попробуйте его повысить. – Andrew
@Andrew да, что он делает так, я увеличиваю max_execution_time, но он не работал – Uahmed