Прочитать текстовый файл и вставить в mysql php

У меня огромный текстовый файл, и я пытаюсь прочитать и вставить его построчно. это данные файла txt.

'REG','KOIL','Kohinoor Industries Ltd.','READY',4.82,2.82,3.82
'REG','EPQL','Engro Powergen Qadirpur Ltd.','READY',36.9495,33.4305,35.19

Функция для вставки данных

            $file_path =FCPATH.'uploads/text/'.$file_name;
            $psx_date=$this->input->post('file_date');
            $open=fopen($file_path,"r");
            $i=1;
            while(!feof($open)){
                $line=fgets($open);
                if ($i>2){
                    $values = explode(",",$line);
                    $psx_symbol=str_replace('\'',null,$values[1]);
                    $no_of_rows=read_psx_where($psx_symbol,$psx_date);
                    if ($no_of_rows<=0){
                        $psx_data=array(
                            'PSX_SYMBOL'    => $psx_symbol,
                            'PSX_DATE'      => $psx_date,
                            'PSX_HIGH'      => $values[4],
                            'PSX_LOW'       => $values[5],
                            'PSX_CLOSE'     => $values[6],
                            'PSX_DATETIME'  => date('Y-m-d H:i:s'),
                            'PSX_SATUS'     => 1
                        );
                       insert_psx_data($psx_data);
                    }
                }
                $i++;
            }
            fclose($open);

Сначала я пропускаю первые две строки тестового файла, а затем проверяю, существует ли такой же символ, поэтому пропустите эту строку.

Этот метод работает, но слишком большое замедление и превышение максимального времени выполнения.

он работает, но слишком медленно, поэтому я не могу вставить полный файл и превышаю максимальное время выполнения.

Bilal Ali 02.05.2018 11:55

Запустите его как интерфейс командной строки PHP, то есть из командной строки

RiggsFolly 02.05.2018 11:57

Попробуйте пакетную вставку в CI. Он создает пакетный массив и сразу вставляет данные

user7596840 02.05.2018 11:58

Взгляните на этот ответ, он использует mysqlimport для импорта полного файла. Тогда моя реализация была намного быстрее, но у меня было несколько файлов, поэтому я не использовал ее.

Brainfeeder 02.05.2018 12:01

У меня есть несколько текстовых файлов, и я проверяю строку за строкой, есть ли запись в базе данных, поэтому пропустите эту строку, поэтому я не могу использовать insert_batch.

Bilal Ali 02.05.2018 12:08

у любого может быть другой способ вставки данных текстового файла построчно в mysql, поэтому предложите мне.

Bilal Ali 02.05.2018 12:15

Запустите его из командной строки, если вы запускаете один за другим из кода. это займет много времени.

Gautam D 02.05.2018 12:19

@GautamD от 500 до 600 текстовых файлов, данные которых мы должны вставить в базу данных, поэтому мне нужно сгенерировать функцию для импорта данных этих файлов.

Bilal Ali 02.05.2018 12:24
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
8
116
0

Другие вопросы по теме