【问题标题】:file_put_contents, placing content between linesfile_put_contents,在行之间放置内容
【发布时间】:2011-11-21 19:02:54
【问题描述】:

我是 PHP 新手,正在练习 file_put_contents() 函数,我想知道这是否可行。

我有一个带有以下副本的文本文件:

--start placed content --

(content goes here)

--end placed content --

是否可以使用 file_put_contents 将内容放在 --start-- 和 --end-- 行之间。我已经尝试过 FILE_APPEND 标志,但它总是将内容放在 --end-- 行之后。还是我需要先使用 file_get_contents?

非常感谢,任何帮助将不胜感激。

【问题讨论】:

  • 你需要读取整个文件,处理然后写回整个文件。

标签: php


【解决方案1】:

没有。需要读入文件并将数据放置在正确的位置。您可以使用 file_get_contents() 读取字符串,然后使用 str_replace 或 preg_replace 将标记之间的部分替换为您想要的,然后再使用 file_put_contents 将其写回。

【讨论】:

    【解决方案2】:

    你总是可以这样做的:

    $data = '--start placed content --'.PHP_EOL.$data.'--end placed content --'.PHP_EOL;
    file_put_contents($file,$data);
    

    【讨论】:

      【解决方案3】:

      您可以将文件作为行数组检索,然后将行插入您想要的位置,并在将其全部写回时。

      nathan 在本网站上的类似示例:Write to specific line in PHP

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多