2012-06-15 128 views
0

我正在用PHP編寫代碼,需要包含一個config.php文件,具體取決於網站的URL。如何動態地包含PHP腳本?

我在變量$site中設置了網址,而$site的設置位於configs/$site/config.php

如何在PHP中動態地要求此文件?

安全嗎include "configs/$site/config.php";

+1

你說「要求」,但然後你演示'包括'...? –

+0

確實,你可能想要使用'require'configs/$ site/config.php';' –

+1

@FrankPresenciaFandos - 在這種情況下,對於'config'文件,'require_once'可能是最有用的方法。 –

回答

7

如果將$site限制爲一組值,是的。

$sites = array(
    'siteA', 
    'siteB' 
); 
if (isset($sites[$site])) { 
    include "configs/$site/config.php"; 
} else { 
    throw new Exception("Unknown site"); 
} 

但是請記住:從外部決不信任任何事情,總是驗證值,即來自客戶端(瀏覽器)。

+0

永遠不要相信。始終驗證。得到它了! – bodacydo

0

這很好。只要確保用戶不能更改$site變量!如果用戶可以改變它,他可以讓它包含任何文件。

+0

'$ site'取決於'Host'頭文件,感謝提醒我,如果用戶將'Host'設置爲'../../file \ 0'或類似的東西! – bodacydo