比如:
1晴天
2阴天
3下雨天
我要把第2行 的"阴天"修改成"下雪天"
注:
最好通过行号去修改而不是通过 字符串搜索去修改
给你最简单的方法吧。
<?
$content = file('gt.txt');//按换行符把全部内容分隔成数组
$content[2]="下雪天\n";//替换指定行的内容
file_put_contents('gt.txt', $content);//重新生成文档
?>
行号多少已经有了.不用再去获取行号
$file_path = 'xxx.txt';
$content = file_get_contents($file_path);
//按换行符把全部内容分隔成数组
$con_array = explode("n", $content);
//替换掉指定行
$con_array[12]="123";
//组合回字符串
$con = implode("n", $con_array);
//写回文档
file_put_contents($file_path, $con);
//修改第4行内容
$f = fopen('test1.txt', 'r+');
$i = 1;
while (!feof($f)) {
if ($i == 4) {
fseek($f, 0, SEEK_CUR);
fwrite($f, 'aad');//这里的修改是替换形式,如果修改后这一行的长度比原来短,那么可以用空格填充到原来长度,这样实现修改,而且不影响后面的内容,但是修改后的比原来长就麻烦了,
break;
}
fgets($f);
$i++;
}
fclose($f);