本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
php修改文件某一行数据的方法
以读写的方式打开指定文件
使用while()循环+fgets() 函数来控制行数
fgets() 函数可以逐行读取文件,一次读取一行数据
当指定行数时,使用fseek()和fwrite()函数来修改这一行的数据。
实现代码:
<?php
$file = "test.txt";
$fp = fopen($file, 'r+');
if ($fp) {
$i = 1;
while (!feof($fp)) {
//修改第二行数据
if ($i == 2) {
fseek($fp, 0, SEEK_CUR);
fwrite($fp, 'HELLO');
break;
}
fgets($fp);
$i++;
}
fclose($fp);
}
?>
test.txt文件原本的内容:
修改后的内容:
说明:
feof() 函数检查是否已到达文件末尾(EOF)。如果出错或者文件指针到了文件末尾(EOF)则返回 TRUE,否则返回 FALSE。
fseek() 函数在打开的文件中定位。该函数把文件指针从当前位置向前或向后移动到新的位置,新位置从文件头开始以字节数度量。如果成功该函数返回 0,如果失败则返回 -1。请注意,移动到文件末尾(EOF)之后的位置不会产生错误。
fwrite() 函数可以将一个字符串写入到文件中。