我是PHP的新手。有人能给我看一个如何读取文件的特定行并用PHP回显它的例子吗?
例如,我有一个名为 note.txt 的文件:
line1
line2
line3
line4
line5
line6
从这个文件中我只想读取并回显line2直到第5行。
先谢谢你的回答
答案 0 :(得分:0)
您可以使用file功能
示例:
$myFile = "tmp.txt";
$lines = file($myFile);//file in to an array
echo $lines[1]; //line 2
你需要从2开始循环 - > 5得到所有这些行
答案 1 :(得分:0)
除非文件的大小很大,否则可以使用函数file()
。 file()
会将文件的行作为数组返回。
示例:
$start = 1; // array indexes are starting with zero
$end = 4; // array indexes are starting with zero
$lines = file('filename'); // get lines of file as an array
for($i = $start; $i <= $end && $i < count($lines); $i++) {
echo $lines[$i];
}
但是,如果文件的大小很大,上面的代码将占用大量内存(〜与文件大小一样多),因为file()
会将整个文件读入数组。如果您正在处理大文件,可以使用fopen()
并使用fgets()
遍历文件的行,除非您到达起始行,读取结束行并最终关闭文件:
$ln = 0;
$start = 1;
$end = 4;
$fd = fopen(__FILE__, 'r'); // open the file
while(true) {
$line = fgets($fd); // read next line
if(!$line || $ln === $end + 1) {
break;
}
if($ln >= $start && $ln <= $end) {
echo $line;
}
$ln++;
}
fclose($fd); // close the file