我有follwing代碼寫入設置文件。簡單的方法爲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', '');
我想與寫的空值更簡單的方法來取代它,因爲當前的代碼將整個文件,它不更新值。我知道我可以使用唯一的標識符,但它可以寫入空值而不是?
UPDATE:
我也有在settings.php配置文件基於真或假的一些設置,這是我卡住寫的值。
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值只有當我寫的文件,像上面
謝謝你的幫助的方法相同。
爲什麼不是JSON而不是試圖寫出可執行代碼?另外,請確保您正在驗證您的輸入!你在做什麼是非常危險的。 – Brad
PEAR Config或libconfigedit將是替代品。 – mario
以及...即時通訊仍然學習PHP – dexter4000