网站首页 > 文章中心 > 其它

php读文件一行数据

作者:小编 更新时间:2023-08-26 23:13:00 浏览量:428人看过

php如何读取CSV大文件并且将其导入数据库示例

思路:

读取csv文件,每读取一行数据,就插入数据库

示例

php读文件一行数据-图1

文件夹结构

/

file.csv?//csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)

index.php?//php文件

file.csv

index.php

/**

php读文件一行数据-图2

*?读取csv文件,每读取一行数据,就插入数据库

*/

//获取数据库实例

$user?=?'root';

$password?=?'';

try?{

$db?=?new?PDO($dsn,?$user,?$password);

}?catch?(PDOException?$e)?{

echo?'Connection?failed:?'?.?$e-getMessage();

}

//读取file.csv文件

if?(($handle?=?fopen("file.csv",?"r"))?!==?FALSE)?{

while?(($row?=?fgetcsv($handle,?1000,?","))?!==?FALSE)?{

//写入数据库

$sth?=?$db-prepare('insert?into?test?set?name=:name,age=:age');

$sth-bindParam(':age',$row[1],PDO::PARAM_INT);

$sth-execute();

fclose($handle);

数据表

CREATE?TABLE?+test+?(

+id+?INT(10)?UNSIGNED?NOT?NULL?AUTO_INCREMENT,

+age+?INT(10)?NULL?DEFAULT?'0',

PRIMARY?KEY?(+id+)

)

ENGINE=InnoDB;

运行结束后,数据库中会插入csv中的三行数据

求PHP从数据库中读取内容并存入文件和从文件读取数据插入数据库的代码

//第一种?

php

$conn?=?mysql_connect("主机名","用户名","密码");

mysql_select_db("数据库名",$conn);

$sql?=?"select?*?from?user";

$result?=?mysql_query($sql);

$data="";

while($row?=?mysql_fetch_row($result)){

foreach($row?as?$v){

$data?.=$v."|";?//加个树线隔开字段

file_put_contents("abc.txt",$data);

//第二种

$filename?=?"abc.txt";

$res?=?fopen($filename,"r");

while(!feof($res)){

$buffer?=?fgets($res);

$buffer?=?str_replace('?',?'|',?$buffer);?

$array?=?explode('|',?$buffer);?

foreach($array?as?$v){

if(strlen($v)0){

$arr[]?=?$v;

fclose($res);

//组装数组插入数据库就可以了

php如何获取txt文本指定行的指定数据?

如果直接使用file_get_contents来读取文件,那么在文件很大的时候会很占内容,比如这个文件有1GB的时候.

这个时候使用传统的文件操作方式就好的多,因为是查找嘛,逐行读取匹配应该也是可以的,下面是我的一个建议,不知道是否满足你的要求,可以看下:

//

需要查找的内容

$search

=

'bcd';

打开文件

$res

fopen('a.txt',

'r');

while

($line

fgets($res,

{

根据规则查找

if

(strpos($line,

$search)

===

0)

根据既定规则取得需要的数据

echo

substr($line,

-1);

这里就是你想得到的

break;

关闭文件

php读文件一行数据-图3

php一条一条地读取数据,并显示

①.,显示总的数据

针对的解决办法:

①.,这个对数据库而言,就是读取所有符合展示条件的信息

$where = 你的搜索条件;

$all_info = $this-db-getall('table_name','$where');

跳转到特定的条目:

那就是你给id赋值,进行查询即可.

php用file读取txt指定行写入mysql

$txt=file('aaa.txt');

echo?$txt[0];

$sql="insert?into?text.tab?(a,b)?values('$txt[0]',?'$txt[1]')";?

if?(mysql_query($sql))?echo?'插入数据库成功';?

else?'插入数据库失败,SQL语句:$sqlbr错误:".mysql_error();?

mysql_close();?

以上就是土嘎嘎小编为大家整理的php读文件一行数据相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章