次のコードを設定ファイルに書き込んでいます。
$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 の値を更新することはできませんでした
お手伝いありがとう。