2011-10-19 16 views
1

我試圖建立一個有許多可重複使用的頁眉/頁腳,樣式信息等的網站。是否有定義一個全局常量/函數可以從任何文件重用,而不必每次都嘗試導航目錄?如何定義一次常量並在所有文件中重用?

喜歡的東西

<html> 
<? 
    includeAll(); // Would include the necessary files, no matter what directory runs the script 
    header(); // Would print the reused <head> information 
?> 
<body> 
... 
    <? footer(); ?> 
</body> 
</html> 

我沒有訪問php.ini文件或任何其他服務器配置選項。

require_once($_SERVER['DOCUMENT_ROOT'] . "/path/to/script"); 

不使用的服務器,而不是根站點目錄上無論是作爲$ _ SERVER超級全球收益鎖定的目錄。

我有什麼選擇嗎?

+0

爲什麼你想'每次瀏覽目錄'?你可以創建一個'glob.php'文件來聲明所有的全局函數和常量。然後你只需要通過'require_once()'來包含這個文件。 – ComFreek

+0

如果$ _SERVER ['DOCUMENT_ROOT']'''總是返回相同的目錄,則可以導航到包含這些文件的目錄幷包含它們。 '''require_once $ _SERVER ['DOCUMENT_ROOT']。 '/../ WWW /包括/ file.php';'''。 –

回答

0

有什麼問題?

define('ROOT_DIR', '/var/www/my_page/'); 
function includeAll() { 
    include_once(ROOT_DIR . 'file1.php'); 
    include_once(ROOT_DIR . 'file2.php'); 
    include_once(ROOT_DIR . 'file3.php'); 
    include_once(ROOT_DIR . 'file4.php'); 
} 
+0

他的意思是在文件之間的全局,而不是腳本。 – LouwHopley

+0

@Nideo這是唯一的方法 – Peter

+0

你改變了你的答案嗎?似乎沒有,我認爲我評論了錯誤的答案。 :/哈哈,對不起 – LouwHopley

1

在你的頭文件中,聲明一個帶有根信息的變量。您對包括頭的路徑必須是正確的,但是從那裏出來,你可以使用include(MY_ROOT . 'filename.php');

0

我一直在使用:

set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT']); 
include_once('glob.php'); 

這臺我包括就在我的網站的根路徑。 不知道它是否會爲你工作,或者如果有更好的方法?

相關問題