日期:2014-05-17  浏览次数:20618 次

PHP读取TXT文件插入数据库
有一个TXT文件,大概300多MB,想要PHP读取出来,然后分条插入到数据库,应该怎么做呢,TXT文件格式大概是这样的。应该怎么样做呢

wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen
wangli # 20100203 # 李四
liwsi # 2015544 # xiaofen


这是我自己写的,但是只是可以读取出并且显示除了,不知道怎么插入数据库,而且TXT文件里面本来是有换行的,但是PHP读取出来都么有换行,还有一个问题就是如果用fread($data,1000)这个地方的是1000是指读取1000个字符,那如果需要一行一行的读取呢。现在这个TXT是一行一行这样的,如果说1000个字符这样子,那有可能最后只是读取到半行

<?php
$data='11.txt';
$files=fopen($data,"r");
$res=fread($files,100000);
echo $res.'<br>';

------解决方案--------------------
$data = '11.txt';
$fp = fopen($data, 'r');
while($r = fgets($fp)) {
  $t = join("','", explode(' # ', $r));
  $sql = "insert into 表 values ('$t')";
  //.... 执行sql
}


不过对于 mysql 似乎应该用 LOAD DATA INFILE 指令来完成