在php中读取txt文件并将数据解析为MySQL

时间:2011-06-19 20:13:40

标签: php

我是php的新手,我希望你可以帮助一个易于获取的脚本。我有一个这种通用格式的txt文件:

5TB-2A, L+, 1, 1695, 3255, l.jpg
5TB-2A, L-, 2, 1965, 3270, l.jpg
5TB-2A, D-, 7, 2970, 3270, l.jpg
5TB-2A, DFOK, 8, 3225, 3300, l.jpg

我想用php读取这个txt文件,将“,”分隔的每个数据都回溯到我的MySQL表中。谢谢你的帮助。

3 个答案:

答案 0 :(得分:4)

$lines=file($yourTxt);

foreach($lines as $v) {
   $values = explode(',',$v);
   PDO::prepare("INSERT INTO tbl (?,?,?,?,?)");
   PDO::execute($values);
}

您还可以进一步检查以查看刚刚读取的行是否正常:

foreach($lines as $v) {
   $values = explode(',',$v);
   if (count($values)!=6)
     continue;
}

答案 1 :(得分:1)

您可以使用fgetcsv(http://php.net/fgetcsv)将文件读入PHP中的数组,然后编写一个查询,将其一次插入表中。

答案 2 :(得分:1)

<?php
$results =   array();
$rows    =   file($filename, FILE_SKIP_EMPTY_LINES);
if(empty($rows)){
   // no data to parse
} else{
    foreach($rows as $row){
        $values = explode(', ', $row);
        // keep only those values which have the 5 variables
        if(count($values) > 5){
            $results[] = $values;
        }
    }
}

// see if we have the correct data
print_r($results);

// ... then do your db inserts here

?>