16°C
завтра: 18°C
Погода в Перми
16°C
ночью16°C
утром15°C
завтра18°C
Подробно
 66,00
+0.1054
Курс USD ЦБ РФна 17 августа
65,9961
+0.1054
 73,22
−0.2323
Курс EUR ЦБ РФна 17 августа
73,2227
−0.2323
  • Есть, в общем, проблема... На сервере лежит файл *.csv. Надо данные из него закинуть в таблицу в MySQL. Так вот, написан скрипт, запускается из браузера, и, используя fgetcsv(), он забрасывает строки в таблицу. Если в файле строк немного, ну, положим, около 400 - все нормально добавляется... Если же строк больше, а теоретически, их может быть 8-10 тысяч, но проверялось реально на 5 тысячах, то работа скрипта прерывается по таймауту, браузер выводит пустоту вместо сообщения об окончании процесса... В таблице максимум 700 записей появляется...
    Как обойти проще всего?
    Вариант с разбивкой файла на несколько не предлагать - не устраивает...

    Кто яростно ненавидит мотоциклистов тот сам латентный мотоциклист.

  • set_time_limit() ?

    как вариант попробовать load data infile через CGI или ещё лучше с консоли. Или набодяжить phpMyAdmin.

  • Может и не самое простое, но как вариант:

    Запускать PHP программу, производящую конвертацию как отдельный процесс из скрипта. Программа будет сигнализировать о своем окончании например выставив флаг в базе. При желании можно вообще прогресс там выставлять, чтобы на страничке можно было писать "столько-то записей добавлено" (а скрипт будет проверять/обновлять периодически прогресс), при большом времени исполнения это может иметь смысл. С set_time_limit() простое решение, но нужно заведомо знать максимальное время исполнение скрипта.

    ЗЫ. В PHP практически не шарю:улыб:

  • В общем, на локально установленном Apache+PHP+MySQL с дефолтными настройками все заработало с добавлением set_time_limit(). Как оно будет работать на чужом сервер - покажут тесты...
    PHPMyAdmin на такой большой файл с запросами реагирует скотски - обрывается в 404 Not Found

    Кто яростно ненавидит мотоциклистов тот сам латентный мотоциклист.

  • еще наверное по умолчанию стоит максимальный размер загружаемого файла 2мб

  • Стоит, но это некритично - тестовый файл в 12 килозаписей занимает 1.2 метра. Плюс планируется загрузка по FTP, ибо так проще...

    Кто яростно ненавидит мотоциклистов тот сам латентный мотоциклист.

Записей на странице:

Перейти в форум

Модератор: