首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何覆盖平面文件中的特定行?

如何覆盖平面文件中的特定行?
EN

Stack Overflow用户
提问于 2012-10-30 20:00:16
回答 1查看 284关注 0票数 1

我的文本文件包含:

代码语言:javascript
运行
复制
a
b
c
d
e

我不知道如何修改我的代码,这样我只能用我在输入框'data‘中输入的任何东西来覆盖第三行(即替换"c")。我的代码如下,目前输入框'data‘的内容完全替换了我的文件:

代码语言:javascript
运行
复制
$data = $_POST['data'];
$file = "data.txt"; 

$fp = fopen($file, "w") or die("Couldn't open $file for writing");

fwrite($fp, $data) or die("Couldn't write values to file"); 
fclose($fp);

我让它以另一种方式工作,即当页面第一次加载时,下面的代码只在文本框中读取第3行:

代码语言:javascript
运行
复制
$file = "data.txt";
$lines = file( $file ); 
echo stripslashes($lines[2]);

有没有人能建议我需要用来实现这个目标的代码?

EN

回答 1

Stack Overflow用户

发布于 2012-10-30 20:08:36

唯一的方法是读取整个文件,更改第三行,然后将其全部写回。基本上,就像这样:

代码语言:javascript
运行
复制
$lines = file($file);
$lines[2] = $_POST['data'];
file_put_contents($file, implode("\n", $lines));

顺便说一句,你的阅读代码并不“只”读取第3行--它按照file()读取所有行,然后你只读取第3行。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13138526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档