2013-07-11 34 views
0

我不知道有什麼辦法讓我們在運行時動態加載一段代碼嗎?例如,我們有一個簡單的「開關......情況」的聲明是這樣的:如何在運行時動態執行PHP命令?

switch($choice) { 
    case 'help': 
     load_from_db('help'); 
     break; 
    case 'about': 
     load_from_db('about'); 
     break; 
} 

而且我們有這個數據庫:

| keyword | command       | 
    help  require('help.php'); 
    about echo 'Under construction.'; 

「load_from_db」是一個函數,它能夠從數據庫讀取(我們知道如何做到這一點)並執行存儲在數據庫中的相應命令(我的問題是這部分)。

另一個例子是一個簡單的「textarea」表單,用戶可以在其中寫入一些PHP代碼並提交表單。在服務器端代碼將被執行並且結果將被顯示給用戶(我知道這是不安全的,這只是一個例子)。

任何想法?

+2

壞主意....但你可以流的包裝,包括從通過像'文件描述符一個數據庫中的「文件」包含「DB:// tablename/keyword「;' – Orangepill

+0

根據你的建議,這似乎是一個菜單,你可以簡單地加載一個新的頁面,當它被選中時給出適當的響應。 如果你想避免重新加載頁面,那麼你應該考慮使用Ajax,這將允許你尋找一些沒有eval的破壞性潛力的功能(想象一下如果有人決定開始取消鏈接各種文件會發生什麼) –

回答