简体   繁体   中英

Import txt file into mysql table using php

I have text file containing data. Each line in the text file contains 12 data separated by space. I want to import the same to mysql table with each data going to respective fields. The data should append to the table. I know how to append data using html forms but, do not know file operations. Any suggestions?

try this

$f = fopen("your_text_file.txt", "r");
while(!feof($f)) { 
  $data = explode(" ", fgets($f));

   $date = $data[0];
   $avgprd = $data[1];
   $level1 = $data[2];
   $level2 = $data[3];
   $level3 = $data[4];
   $level4 = $data[5];
   $level5 = $data[6];
   $level6 = $data[7];
   $level7 = $data[8];
   $level8 = $data[9];
   $level9 = $data[10];
   $level10 = $data[11];
   $level11 = $data[12];

      mysql_query("INSERT INTO `your_table_name` (date, avgprd, level1, level2, level3, level4, level5, level6, level7, level8, level9, level10, level11) 
VALUES ('$date', '$avgprd', '$level1', '$level2', '$level3', '$level4', '$level5', '$level6', '$level7', '$level8', '$level9', '$level10', '$level11')") or die(mysql_error());
    }
    fclose($f);
if(isset($_POST['Import'])){
    $file=  $_FILES['fimport']['tmp_name'];  
    $handle=fopen($file,'r');
    while(($fileop=fgetcsv($handle,1000,","))!=false){
    $name=$fileop[0];
    $email=$fileop[1];
    $userid=$this->session->userdata('id');
    $this->db->query("insert into usersemail(user_name,user_email,user_id)values('$name','$email','$userid')");
} 

Look at LOAD DATA INFILE in Mysql. http://dev.mysql.com/doc/refman/5.1/en/load-data.html

Use LOAD DATA INFILE in Mysql or php code as example:

$f = fopen("yourfile.txt", "r");
while(!feof($f)) { 
  $data = explode(" ", fgets($f));
  mysql_query("INSERT INTO some_table (some_data0, some_data1) values (" . $data[0] . ", " . $data[1] . ")");
}
fclose($f);

try this...

$file = $_FILES['frmUpload']['tmp_name'];           //  Get Temporary filename
if ($file) {
    $handle = fopen($file,"r");                         //  Open the file and read
    while($strBookData = fgetcsv($handle, 10000, " ")) {//To get Array from CSV, " "(delimiter) 
        $strDatas[] = $strBookData;
        $strTableColumn = count($strBookData);              // To Get Column count
    }
}   

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM