2017-01-14 94 views
1

我正在擴展一個將配置數據存儲在php文件中的應用程序。該文件是這樣的:從php腳本更新php配置

defined('DB_NAME') or define('DB_NAME', ''); 
defined('DB_USERNAME') or define('DB_USERNAME', ''); 
defined('DB_PASSWORD') or define('DB_PASSWORD', ''); 

說,我想使參數DB_NAME從PHP應用程序本身的配置,從而避免在config.php手動更改。我想讀取文件,搜索字符串'DB_NAME',做一些字符串操作,然後寫回內容。但是,這看起來不太優雅。有沒有其他方法?

+0

使用配置文件類實現。 – arkascha

+0

我不是專家,但什麼阻止你從POST接收變量,然後用define()設置它? –

回答

0

一種方式做到這一點:

  • 複製在config.tpl整個配置,用作模板
  • 改變它包含這樣的佔位符: defined('DB_NAME') or define('DB_NAME', '%DB_NAME%');
  • 寫一個類的函數與模板和值替換佔位符寫入到磁盤的config.php

照顧的唯一事情是不同的佔位符

1

我建議你避免使用PHP源代碼,並切換到任何標準數據格式,你已經有了編碼器和解碼器。有很多可供選擇:

+0

這絕對是我將來在自己的項目中做到的! – Andy