我想動態更新數據庫配置文件。首先,我將主題文件從一個目錄複製到另一個目錄。這些主題文件包含一個數據庫配置文件。用另一個文件替換整行PHP
將文件複製完後,我想更新數據庫配置文件以使用創建的新數據庫的名稱(使用$ dbname)。
$dbname = "Database 1";
$data = file('file.php'); // reads an array of lines
function replace_a_line($data) {
if (stristr($data, 'dbname=')) {
return 'dbname=' . $dbname . '';
}
return $data;
}
$data = array_map('replace_a_line',$data);
file_put_contents('file.php', implode('', $data));
file.php:
$this->pdo = new PDO('mysql:host=localhost; dbname=', '', '');
我上面的功能的問題是,它取代只是
dbname=
整條生產線,我不知道如何使用與回報正確的語法來添加,全線的PHP
我需要它看起來像這樣:
$this->pdo = new PDO('mysql:host=localhost; dbname=test', '', '');
我可以使用什麼來保留原始的php行,只需添加到dbname =?
如果我用包含上述PHP行的整個文件替換了這行,那麼我可以插入整個PHP行呢?
你不覺得有這樣做的更好的方法嗎?我看不到你的數據庫設置文件,但是如何將'$ dbname'作爲參數傳遞給某個函數,並在函數在數據庫設置文件中執行時填入它? –
是啊這是我第一次動態創建數據庫,所以我打開並欣賞建議 – cpcdev