К основному контенту

CSV импорт больших (огромных) файлов (построчное считывание)

Так как лимит памяти на обычном хостинге не вилки и время исполнения скрипта ограничено, стоит задача обработки огромных прайс листов в формате csv (1млн, 2млн, 3млн ...) не на стороне сервера, а на  стороне клиента посредством js.



Ранее я все делал на стороне сервера, читал файл построчно, перегружал страницу и продолжал дальше бегать по файлу и так до конца. Но сейчас этот способ перестал устраивать:
1. Не у всех мощный интернет, загрузка самого в 60-100мб файла на сервер занимает более 5 мин, при медленном соединении, что в свою очередь выходит за рамки max_execution_time.
2. Выделяемой памяти на обычном хостинге, не хватает для обработки такого файла.

На просторах интернета нашел js библиотеку, которая поможет нам справится с этой задачей
оф сайт - http://papaparse.com/

Буду отталкиваться от этого

Парсим CSV непосредственно с помощью JavaScript - Google Chrome

Комментарии

Популярные сообщения из этого блога

Товар которого нет в наличии делаем в конце opencart

Товар которого нет в наличии делаем в конце 

Как заменить “сломанное” изображение?

Как заменить “сломанное” изображение? Случается так, что на странице по различного рода причинам могут не загрузиться те или иные изображения. Это негативно сказывается на восприятии контента. Средствами JavaScript мы можем заменить такие изображения, какими-то заглушками. Напишем функцию обработчик события  onError : function imgError(image) { image.onerror = ""; image.src = "/images/noimage.gif"; return true; } Воспользуемся нашей функцией, указав её в атрибуте onerror элементов img. <img src="image.png" onerror="imgError(this);"/> Или вариант без использования целой функции: <img src="image.png" onError="this.onerror=null;this.src='/images/noimage.gif';" />

Редактирование заказа opencart 1.5.1.3 часть 2

Редактирование заказа opencart 1.5.1.3 часть 2 Как и обещал по поводу доработок , сегодня добавил редактирование колличества в заказе, сумма при этом пересчитывается автоматом , только итоговая сумма не пересчитывается .