0

次のコードを設定ファイルに書き込んでいます。

 $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 の値を更新することはできませんでした

お手伝いありがとう。

4

1 に答える 1

0

JSON 文字列をファイルに保存し、ファイルを読み取って解析することができます。これは、ユーザーが任意の PHP をサーバーに書き込めるようにするよりもはるかに安全なオプションです。

于 2013-01-16T04:35:14.217 に答える