搜索

首页  >  问答  >  正文

php 使用file_get_contents打开一个php文件并搜索指定字符串后并在它下面换行追加其它内容怎么写?

我想实现一个功能,因为使用的系统每次更新就会覆盖我自己添加的那一段代码,
我想实现这个功能,如果它覆盖了我的代码,我就打开那段代码重新追加进去。

就是这段代码,如果覆盖了,我就打开这个文件php文件,
framework/bootstrap.inc.php

并且搜索这一部分,['development'] == 1);
完整的是这样
define('DEVELOPMENT', $_W['config']['setting']['development'] == 1);

如果搜到后返回true之后,并换行在它后面追加一段代码
就像这样
搜到之后。

`define('DEVELOPMENT', $_W['config']['setting']['development'] == 1);`
// 追加的代码
define('DEBUG', $_W['config']['setting']['debug'] == 1);
if(DEBUG){
    include ROOT.'/framework/debug.php';
}
淡淡烟草味淡淡烟草味2730 天前993

全部回复(3)我来回复

  • 我想大声告诉你

    我想大声告诉你2017-06-28 09:25:06

    为什么不去找代码更新部分代码会被覆盖的问题 而是通过这种迂回的方式解决问题呢?

    回复
    0
  • 欧阳克

    欧阳克2017-06-28 09:25:06

    为什么不把

    define('DEBUG', $_W['config']['setting']['debug'] == 1);
    if(DEBUG) {
        include ROOT.'/framework/debug.php';
    }

    这段你自己加上的代码单独做一个文件,然后把系统更新的文件和你这个文件都加载进去呢

    require 'xxxx.php'; // 系统更新会覆盖的文件
    require 'bbbb.php'; // 你自己添加的代码

    这样既不用担心更新后会被系统覆盖掉,维护起你自己的代码也容易地多。

    回复
    0
  • PHP中文网

    PHP中文网2017-06-28 09:25:06

    我同意楼上的观点。但是你非要这么处理的话可以在你自己添加的代码处添加一个注释。然后读整个文件的内容,用注释将文件分割为两串字符串。再把你的代码和两串字符串拼接起来,最后写入文件即可。

    回复
    0
  • 取消回复