
正文
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);
}
return $returnTxt;
}
相关问答
Q1: 用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可否(我没做过,不确定,你试试看)
Q2: 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);
Q3: php怎么一行一行的读取字符串
php fgets将txt文件内容一行一行php读取文本一行数据的读出
说明
string fgets ( int $handle [, int $length ] )
从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取php读取文本一行数据了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 lengthphp读取文本一行数据,则默认为 1Kphp读取文本一行数据,或者说 1024 字节。
出错时返回 FALSE。
通常的缺陷:
习惯了 C 语言中 fgets() 语法的人应该注意到 EOF 是怎样被返回的。
文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
以下是一个简单例子:
?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?
php读取文本一行数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于读取php文件内容、php读取文本一行数据的信息别忘了在本站进行查找喔。







