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

ooplus
  • 57

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

就是这段代码,如果覆盖了,我就打开这个文件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';
}
回复
阅读 3.4k
3 个回答

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

为什么不把

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

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏