Php 如何使用fopen打开文件中的当前行?
我需要从下面的文件中获取文件指针的行位置Php 如何使用fopen打开文件中的当前行?,php,Php,我需要从下面的文件中获取文件指针的行位置 string1\n string2\n string3\n 我正在使用这个函数读取文件 function get() { $fp = fopen('example.txt', 'r'); if (!$fp) { echo 'Error' . PHP_EOL; } while(!feof($fp)) { $string = trim(fgets($fp)); if(!$str
string1\n
string2\n
string3\n
我正在使用这个函数读取文件
function get() {
$fp = fopen('example.txt', 'r');
if (!$fp) {
echo 'Error' . PHP_EOL;
}
while(!feof($fp)) {
$string = trim(fgets($fp));
if(!$string) {
continue;
} else {
/*
* Here I want to get a line number in this file
*/
echo $string . PHP_EOL;
}
}
}
简单的解决办法是使用计数器
function get() {
// Line number counter
$lncount = 0;
$fp = fopen('example.txt', 'r');
if (!$fp) {
echo 'Error' . PHP_EOL;
}
while(!feof($fp)) {
$string = trim(fgets($fp));
// Increment line counter
$lncount++;
if(!$string) {
continue;
} else {
// Show line
echo "Current line: " . $lncount;
echo $string . PHP_EOL;
}
}
}
为每个FGET添加一个行计数器如何?文件将使用fseek()读取我很困惑;您是使用
fgets()
读取文件还是使用fseek()
?如果您使用的是fseek()
是否可以编辑您的问题以反映您实际使用的代码?@NiLL但您的示例使用的是fgets()
,它获取了整行内容。阿尔桑的建议仍然有效。在哪里使用fseek()
?