php函数写入设置文件的简便方法

时间:2013-01-16 04:31:28

标签: php

我有以下代码写入设置文件。

 $data=json_decode($_REQUEST["data"],true);
 $dbhost=$data["dbhost"];
 $dbuser=$data["dbuser"];
 $dbpass=$data["dbpass"];
 $dbname=$data["dbname"];
 $config="<?php @define('DB_HOST', '$dbhost');
 @define('DB_USER_ID', '$dbuser');
 @define('DB_USER_PASS', '$dbpass');
 @define('DB_NAME', '$dbname'); ?>";

 $fp = fopen("../settings/settings.php", "w");
 fwrite($fp, $config);
 fclose($fp);

settings.php看起来像这样

 @define('DB_HOST', '');
 @define('DB_USER_ID', '');
 @define('DB_USER_PASS', '');
 @define('DB_NAME', '');

我想用更简单的方法来替换它,因为当前代码写入整个文件,它不会更新值。我知道我可以使用唯一标识符但是可以写出空值吗?

更新:

我在settings.php文件中也有一些基于true或false的设置,这就是我在编写值时陷入困境。

 define('LOGO_IMAGE_PATH', '%logo_image%');
 define('USE_LOGO_IMAGE', true);
 define('SITE_TITLE', '%site_title%');
 define('TRACK_IP', false);
 define('MOBILE_VERSION_ENABLED', false);

只有当我使用与上面相同的方法编写文件时,我才能获得更新true或false值的函数

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以将JSON字符串保存到文件中,然后读取文件以解析它。这比让用户将任意PHP写入您的服务器更安全。