简体   繁体   English

使用php将txt文件导入mysql表

[英]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.文本文件中的每一行包含 12 个由空格分隔的数据。 I want to import the same to mysql table with each data going to respective fields.我想将相同的数据导入到 mysql 表中,每个数据都转到相应的字段。 The data should append to the table.数据应附加到表中。 I know how to append data using html forms but, do not know file operations.我知道如何使用 html 表单附加数据,但不知道文件操作。 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.查看Mysql中的LOAD DATA INFILE。 http://dev.mysql.com/doc/refman/5.1/en/load-data.html http://dev.mysql.com/doc/refman/5.1/en/load-data.html

Use LOAD DATA INFILE in Mysql or php code as example:在 Mysql 或 php 代码中使用 LOAD DATA INFILE 作为示例:

$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
    }
}   

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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