2°C
завтра: 2°C
Погода в Перми
2°C
ночью−5°C
утром−1°C
завтра2°C
Подробно
 92,26
−0.3291
Курс USD ЦБ РФна 29 марта
92,2628
−0.3291
 99,71
−0.5647
Курс EUR ЦБ РФна 29 марта
99,7057
−0.5647
  • Есть, в общем, проблема... На сервере лежит файл *.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, ибо так проще...

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

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

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

Модератор: