【问题标题】:How to change a specific line in a text file [duplicate]如何更改文本文件中的特定行[重复]
【发布时间】:2014-02-25 17:27:59
【问题描述】:

我有以下情况,我有几个复选框,每个复选框都有一个值,如 1、2、3 等,这代表数组中的某个位置和文本文件中的某个行。

如果选择了相关复选框,我需要以某种方式弄清楚如何更新文本文件中的这一行。每个输入的名称为visitProperty[]

foreach($_POST['visitProperty'] as $check) {
        $fileName = "pdata.txt";
        $fileContent = file($fileName);
        $readFile = fopen($fileName, "w+");
        $fileContent[$check] = "TEST TO SEE IF LINE REPLACED";
        $update = fwrite($readFile, $fileContent[$check]);
        fclose($readFile);
    }

这是我尝试过的,但它不起作用。

【问题讨论】:

  • @AmalMurali 是的,我已经读过,但仍然对它的工作原理感到困惑。
  • 如果您的问题是“其他答案中实施的解决方案如何工作”,那么也许您应该问这个问题。
  • 如果你想知道它是如何工作的,你应该阅读每个函数的文档
  • @AmalMurali 当然,但是如果我是正确的,该问题是查找某个短语/单词来替换,无论我是否要替换特定行,知道需要替换的行号.
  • 那为什么不直接将文件读入数组,替换数组中的行,然后使用 file_put_contents 将整个数组放回文件中(参见php.net/file_put_contents)。

标签: php file fwrite


【解决方案1】:

这就是你要找的吗? $check 是数组中的索引在哪里?

$fileName = "pdata.txt";
$fileContent = file($fileName);
foreach($_POST['visitProperty'] as $check) {
    $fileContent[$check] = "TEST TO SEE IF LINE REPLACED";
}
file_put_contents ($fileName, implode("\n", $fileContent));

【讨论】:

    猜你喜欢
    • 2015-05-31
    • 1970-01-01
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多