Импорт данных из текстового файла в mysql в php

Я хочу импортировать данные из txt-файла в mysql в php

Мой txt-файл:

Id name rollno grno inoutdatetime 1 test 1 1 10/4/2015 05:20:00 2 test2 2 2 11/4/2015 08:20:00 

И у меня нет вставки какого-либо дублирования строки данных даты

Создайте таблицу базы данных с столбцами в соответствии с вашими потребностями.

 CREATE TABLE yourTableName ( Id int, name varchar(100), rollno int, grno int, inoutdatetime varchar(100) ) ENGINE=InnoDB; 

Если ваш txt-файл соответствует тому же формату, что и ваш пример.

 $fhandle=fopen("textfile.txt", "r"); fgets($fhandle); //First fgets to read over header line. while($line=fgets($fhandle)){ //Explode your line by space delimeter $words=explode(" ",$line); /* Do additional checks and data sanitizing here. */ //If every line follows the format in your example, and is not empty, insert into table here $sql="INSER INTO yourTableName VALUES ($words[0], $words[1], $words[2], $words[3], $words[4])"; } в $fhandle=fopen("textfile.txt", "r"); fgets($fhandle); //First fgets to read over header line. while($line=fgets($fhandle)){ //Explode your line by space delimeter $words=explode(" ",$line); /* Do additional checks and data sanitizing here. */ //If every line follows the format in your example, and is not empty, insert into table here $sql="INSER INTO yourTableName VALUES ($words[0], $words[1], $words[2], $words[3], $words[4])"; } 

Это всего лишь общий обзор. Я уверен, что есть больше вещей, которые нужно учитывать, например, для дезинфекции данных, проверки нулей / дубликатов, безопасности для SQL-инъекций, типов столбцов реструктуризации и т. Д.

Надеюсь это поможет!! 🙂

Я предлагаю вам использовать функцию explode () в PHP. Сначала вы можете взорвать линии, а затем пробелы.

Это будет выглядеть так:

 $linesList = explode(PHP_EOL, $txt_file); foreach($linesList as $Line){ $words = explode(' ',$line); } 

ВЫХОД НА ЛИНИЮ

$ words [0] = Id

$ words [1] = name

$ words [2] = rollno

$ words [3] = grno

$ words [4] = inoutdatetime

Как вы получаете txt? Почему бы не использовать CVS вместо этого?

Вы можете удалить сначала дублированные строки, сделав следующее:

Удалить дубликаты данных в текстовом файле с помощью php

Теперь, когда у вас есть чистый txt, вы можете получить содержимое файла, используя следующий код

 $handle = fopen("inputfile.txt", "r"); if ($handle) { while (($line = fgets($handle)) !== false) { // process the line read. } fclose($handle); } else { // error opening the file. } 

Проверьте ссылку для получения дополнительной информации. Как читать файл по строкам в php