2016-12-15 7 views
0

Я пытаюсь прочитать файл csv размером 980mb, используя phpexcel reader, но мой код читает файлы меньшего размера (до 4 Мб), но как читать файлы csv или excel, используя phpexcel reader? [Я еще лучше в php и phpexcel-функции]. Пожалуйста, помогите мне это это возможно? Заранее спасибо.Как читать очень большие файлы csv с помощью phpexcel reader

+0

[как читать большие листы из больших файлов Excel с помощью PHPExcel] (http://stackoverflow.com/questions/4666746/how-to-read-large-worksheets-from-large-excel-files-27mb-with -phpexcel) –

+0

[PHPExcel не работает] (http://stackoverflow.com/questions/4817651/phpexcel-runs-out-of-256-512-and-also-1024mb-of-ram) –

+0

И если все вы делаете это чтение файла csv, тогда функция встроенного в [fgetcsv()] (http://www.php.net/manual/en/function.fgetcsv.php) PHP намного эффективнее –

ответ

1

Если вам не все равно, сколько времени потребуется и сколько памяти ему нужно, вы можете просто увеличить значения для этого скрипта. Просто добавьте следующие строки в верхней части скрипта:

ini_set('memory_limit', '1024M'); 
ini_set('max_execution_time', '300'); 

С функцией memory_get_usage() вы можете узнать, сколько памяти ваш сценарий должен найти хорошее значение для memory_limit.

Возможно, вы также захотите взглянуть на fgets(), который позволяет вам читать файл по строкам. Я не уверен, что это занимает меньше памяти, но я действительно думаю, что это сработает. Но даже в этом случае вам нужно увеличить max_execution_time до более высокого значения. вы можете увеличить время выполнения в соответствии с требованием.

+0

Спасибо за ваш Ответить. Я использую codeigniter, я включил эти строки в свой контроллер? но все же я получил эту ошибку - «outofmemory» попытался выделить больше пространства памяти в phpexcelreader? – Priya