我有以下代码写入设置文件。
$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值的函数
感谢您的帮助。
答案 0 :(得分:0)
您可以将JSON字符串保存到文件中,然后读取文件以解析它。这比让用户将任意PHP写入您的服务器更安全。