资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php中txt的数据获取的简单介绍

用php读取txt内容

首先fopen读取TXT文件,获取一个文件指针,然后fgets获取一行,再fgets继续读取下一行

专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业遂溪免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

官方例子:

?php

$f = fopen ("fgetstest.php", "r");

$ln= 0;

while (! feof ($f)) {

$line= fgets ($f);

++$ln;

printf ("%2d: ", $ln);

if ($line===FALSE) print ("FALSE\n");

else print ($line);

}

fclose ($f);

这个前提是你的$f这个文件指针不能关闭,如果你想在不同请求的情况下实现,那就要吧$f做全局存储了,看看存session可否(我没做过,不确定,你试试看)

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

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

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

//

需要查找的内容

$search

=

'bcd';

//

打开文件

$res

=

fopen('a.txt',

'r');

while

($line

=

fgets($res,

1024))

{

//

根据规则查找

if

(strpos($line,

$search)

===

0)

{

//

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

echo

substr($line,

4,

-1);

//

这里就是你想得到的

break;

}

}

//

关闭文件

fclose($res);

想通过PHP实现读取txt文本每次刷新网页随机获取5行数据并输出?

$content = file("test.txt");

$randContent = array_rand($content,5);

echo implode("br /",$randContent);

第一行使用file把把整个文件读入一个数组中

第二行使用array_rand在数组中随机取出5个元素

第三行将取出的5个数组中间添加br /标签并打印出来

file

把整个文件读入一个数组中

file ( string $filename , int $flags = 0 , resource $context = ? ) : array

array_rand

从数组中随机取出一个或多个随机键

array_rand ( array $array , int $num = 1 ) : int|string|array

implode

将一个一维数组的值转化为字符串

implode ( string $glue , array $pieces ) : string

php读取txt内容

form action='' method="post"

输入字母:

input type="text" name="cs"

input type="submit"

/form

?php

//获取post值

$cs = empty($_POST['cs']) ? "" : $_POST['cs'];

//post值为空直接返回

if($cs==""){return '';}

//打开diqu.txt文件资源

$file = fopen("diqu.txt", "r") or exit("未找到文件!");

//逐行查找post传递的字符

while(!feof($file))

{

//如果找到post传递的字符就返回该行的值

if($val = strstr(fgets($file),$cs)){echo str_replace($cs,'',$val);return "";}

}

//关闭文件

fclose($file);

?


网站栏目:php中txt的数据获取的简单介绍
标题链接:http://cdkjz.cn/article/dohdedj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220