На информационном ресурсе применяются cookie-файлы. Оставаясь на сайте, вы подтверждаете свое согласие на их использование.
PHP + MySQL
        2196
                5
                
                
                    PN
                
                
        
        ЙА ТИГОР
            Есть, в общем, проблема... На сервере лежит файл *.csv. Надо данные из него закинуть в таблицу в MySQL. Так вот, написан скрипт, запускается из браузера, и, используя fgetcsv(), он забрасывает строки в таблицу. Если в файле строк немного, ну, положим, около 400 - все нормально добавляется... Если же строк больше, а теоретически, их может быть 8-10 тысяч, но проверялось реально на 5 тысячах, то работа скрипта прерывается по таймауту, браузер выводит пустоту вместо сообщения об окончании процесса... В таблице максимум 700 записей появляется... 
Как обойти проще всего?
Вариант с разбивкой файла на несколько не предлагать - не устраивает...
    Как обойти проще всего?
Вариант с разбивкой файла на несколько не предлагать - не устраивает...
set_time_limit() ?
как вариант попробовать load data infile через CGI или ещё лучше с консоли. Или набодяжить phpMyAdmin.
    как вариант попробовать load data infile через CGI или ещё лучше с консоли. Или набодяжить phpMyAdmin.
Может и не самое простое, но как вариант:
Запускать PHP программу, производящую конвертацию как отдельный процесс из скрипта. Программа будет сигнализировать о своем окончании например выставив флаг в базе. При желании можно вообще прогресс там выставлять, чтобы на страничке можно было писать "столько-то записей добавлено" (а скрипт будет проверять/обновлять периодически прогресс), при большом времени исполнения это может иметь смысл. С set_time_limit() простое решение, но нужно заведомо знать максимальное время исполнение скрипта.
ЗЫ. В PHP практически не шарю
    Запускать PHP программу, производящую конвертацию как отдельный процесс из скрипта. Программа будет сигнализировать о своем окончании например выставив флаг в базе. При желании можно вообще прогресс там выставлять, чтобы на страничке можно было писать "столько-то записей добавлено" (а скрипт будет проверять/обновлять периодически прогресс), при большом времени исполнения это может иметь смысл. С set_time_limit() простое решение, но нужно заведомо знать максимальное время исполнение скрипта.
ЗЫ. В PHP практически не шарю

В общем, на локально установленном Apache+PHP+MySQL с дефолтными настройками все заработало с добавлением set_time_limit(). Как оно будет работать на чужом сервер - покажут тесты... 
PHPMyAdmin на такой большой файл с запросами реагирует скотски - обрывается в 404 Not Found
    PHPMyAdmin на такой большой файл с запросами реагирует скотски - обрывается в 404 Not Found
                
                    Роман Петров
                
                
        
        
    member
            еще наверное по умолчанию стоит максимальный размер загружаемого файла 2мб
    
                
                    PN
                
                
        
        
    ЙА ТИГОР
            Стоит, но это некритично - тестовый файл в 12 килозаписей занимает 1.2 метра. Плюс планируется загрузка по FTP, ибо так проще...
    ТОП 5
            2
                        
                    4