使用php永久性地将变量写入php文件

Don*_*ply 9 php codeigniter

我需要能够使用php永久更改php文件中的变量.

我正在使用codeigniter创建一个多语言站点,并使用语言助手将php文件中的文本以这种格式存储在变量中: $lang['title'] = "Stuff";

我已经能够使用fopen()等访问文件的纯文本了,我似乎可以找到我想用正则表达式编辑的区域,并在我做出更改后重写文件但是它看起来有点hacky.

有没有简单的方法来使用PHP永久编辑这些变量?

干杯

Chr*_*ris 7

如果它只是您正在处理的阵列,您可能需要考虑var_export.它将以有效PHP代码的格式打印或返回表达式.

所以,如果你有一个包含一堆$lang['title'] = "Stuff";行的language_foo.php ,你可以做以下几点:

include('language_foo.php');
$lang['title2'] = 'stuff2';
$data = '$lang = ' . var_export($lang, true) . ';';
file_put_contents('language_foo.php', '<?PHP ' . $data . ' ?>');
Run Code Online (Sandbox Code Playgroud)

或者,如果您将来不想手动编辑它们,则应考虑以不同的方式存储数据(例如在数据库中,或者serialize()等等).