php取文件行数据 php读取文件一行

PHP里如何读取文件的指定一行??php
$c = getLine('./a.txt', 10); // 读取a.txt文件第10行内容
echo $c;
/**
* 获取指定行内容
*
* @param $file 文件路径
* @param $line 行数
* @param $length 指定行返回内容长度
*/
function getLine($file, $line, $length = 4096){
$returnTxt = null; // 初始化返回
$i = 1; // 行数
$handle = @fopen($file, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, $length);
if($line == $i) $returnTxt = $buffer;
$i++;
}
fclose($handle);
}
【php取文件行数据 php读取文件一行】 return $returnTxt;
}
PHP怎么获取文件的行数有二种方法可以实现,分别如下:
第一种:
?php
$file_path = 'xxx.txt'; //文件路径
$line = 0 ; //初始化行数
//打开文件
$fp = fopen($file_path , 'r') or die("open file failure!");
if($fp){
//获取文件的一行内容,注意:需要php5才支持该函数;
while(stream_get_line($fp,8192,"\n")){
$line++;
}
fclose($fp);//关闭文件
}
//输出行数;
echo $line;
?
第二 种:
?php
$line = count(file('filename'));
echo $line;
?
想通过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文本指定行的指定数据?如果直接使用file_get_contents来读取文件,那么在文件很大php取文件行数据的时候会很占内容 , 比如这个文件有1GBphp取文件行数据的时候 。
这个时候使用传统的文件操作方式就好的多 , 因为是查找嘛,逐行读取匹配应该也是可以的,下面是我的一个建议 , 不知道是否满足你的要求,可以看下php取文件行数据:
//
需要查找的内容
$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取文件行数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php读取文件一行、php取文件行数据的信息别忘了在本站进行查找喔 。

    推荐阅读