我将以下代码写入设置文件。
$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);
只有当我使用与上面相同的方法编写文件时,我才能获得更新真值或假值的函数
感谢您的帮助。