有没有办法自动更改PHP文件?

时间:2015-08-03 19:15:45

标签: php

有没有办法用PHP编写可以更改PHP文件的东西?

例如,如果我想修改脚本(无论是简单地添加小功能还是更改现有功能),而不是发布带有一堆“查找:”的教程,“替换为:”或者“找到这个:”,“之后,添加这个:”,我是否可以通过简单的点击编写一个PHP页面或者为用户进行这些更改的内容?

2 个答案:

答案 0 :(得分:0)

您只需将文件加载到变量(只要您的服务器用户有权写入文件),然后更改变量,然后覆盖该文件。

$content = file_get_contents('test.php');
$content = preg_replace('/find/', 'replace', $content);
file_put_contents('test.php', $content);
//if you need to append to the file, use this flag
//warning: the default (no flag) in third parameter is to overwrite the entire file.
file_put_contents('test.php', $content, FILE_APPEND);

就像编辑任何其他文件一样。 如果你需要遍历这些行,这个函数更有用:

$content = file('test.php');
$result  = '';
foreach($content as $line) {
    if(preg_match('/find/', $line) {
        $result .= $replacement;
    } else {
        $result .= $line;
    }
}
file_put_contents('test.php', $result);

这只是一个例子,因为我不确切知道你需要如何替换文件中的内容。

答案 1 :(得分:-1)

你检查一下git吗? git push和git pull,也许是你的解决方案......如果你使用图形接口,那么2点击(如果你使用图形接口)或2个命令(如果你使用终端)

https://git-scm.com/book/en/v2/Getting-Started-Git-Basics