有一个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>';
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>';
解决方案 »
- CI框架里用pChart做报表数组不好识别
- 问一个php调用mssql存储过程的空值问题
- 恼怒,,问主机商要域名转移码,竟然要不到
- 怎么根据url读取数据
- 问一个简单问题:php case的或者怎么表示?
- 这段js运行一段时间后页面变卡了,怎么解决?
- nginx配置PHP错误(静态文件可访问,php不行)
- mysql 5.0.16版本配置启动报错误。很奇怪
- 急问在php代码中能实现文件保存吗(要求能弹出标准的保存对话框来选择用户希望保存的路径)?谢谢!!!
- php里的javascript 问题在线等待___________________________
- union all效率低下,该用存储过程、视图、临时表哪种方法来解决?
- 急急急急急急急!
$fp = fopen($data, 'r');
while($r = fgets($fp)) {
$t = join("','", explode(' # ', $r));
$sql = "insert into 表 values ('$t')";
//.... 执行sql
}不过对于 mysql 似乎应该用 LOAD DATA INFILE 指令来完成
$fp = fopen($data, 'r');while($r = fgets($fp)) {
echo $t = join("','", explode(' # ', $r));
//$sql = "insert into 表 values ('$t')";
//.... 执行sql
}# 是不用插入到数据库里面的,另外如果这个文件很大,怎么分割呢怎么样输出到PHP一行一行来显示呢,TXT默认换行是\n,这样的,PHP怎么匹配出来
$fps=fopen($filename,'r');
while(!feof($fps)){
$ceshi=fgets($fps);
echo $ceshi."<br>";
}
fclose($fps);谢谢版主,我是按照这样的,然后浏览器输出以后就是和TXT文本一样显示出来了,但是如果要插入到数据库里面应该怎么做呢我数据库里面有四个字段,id,name,time,bak第一个是ID是auto_increment
其余三个字段都是varchar
现在TXT文件是格式是
lisi # 121015 # 3900
xiaomao # 130205 #2500
lisa # 1258 # ok
我想插入到数据里面以后的数据是这样的
id name time bak
1 lisi 121015 3900
2 xiaomao 130205 2500
3 lisa 1258 ok
补上字段列表,为
$t = join("','", explode(' # ', $r));
$sql = "insert into 表 ( name, time, bak) values ('$t')";