2011-08-30 49 views
1

我在從不同地方調用的各種不同文件中有一些東西。我一直在嘗試使用$ ROOT變量,但是因爲我要從幾個不同的文件(index.php,view.php,admin/index.php等)開始,並且沒有bootstrap(或者其他任何文件所謂的),我不能總是得到從東西阿賈克斯等稱爲$ ROOT ..php include_paths in htaccess

如果我設置通過htaccess的include_path中有點像:

php_value include_path ".;C:\wamp\www\project\"

我認爲不包括子目錄,我還必須爲我的文件所在的每個其他目錄添加一行,即使它們位於C:\wamp\www\project\componentsC:\wamp\www\project\model

我要添加新的行或逗號嗎?我找不到任何使用htaccess設置包含多條路徑的包含路徑的示例...

或者是有一種方法可以獲得與我的$ ROOT變量相關的所有內容,並使用絕對路徑,並以某種方式讓每個文件,即使他們在不同的地方,引用特定的變量? (無需對應用程序中的所有文件進行批量更改?)這樣做的好處是隻需在服務器更改/部署中更改文件,但我不知道如何開始解決它!

謝謝:)

+0

您可以在腳本中動態地更改包含路徑,該腳本允許您使用$ ROOT var。但是,然後你遇到了雞蛋問題 - 如果$ ROOT已經在一個不在你的包含路徑中的文件中,那麼你不能在沒有絕對路徑的情況下包含它。 –

+0

是的..雞和雞蛋的潛力是我想要解決的問題。這讓我的大腦難過。我想如果我包含路徑的配置,每個頁面頂部的require_once config.php路徑,然後使用我的$ root var其他地方我應該被覆蓋? – Damon

回答

1

我認爲不包含子目錄,

你爲什麼不試試呢? (它不包括子迪爾斯)

我不能在網上找到使用htaccess的設置包括多個路徑

路徑的任何例子嗎?你已經提供了一個:

php_value include_path中 「; C:\ WAMP \ WWW \項目\」

的路徑是 ''和 'C:\ WAMP \ WWW \項目\'

(BTW其更好的做法是使用 '/' 作爲目錄分隔符 - 它避免了混淆UNIX風格轉義)

+0

啊謝謝。什麼是'。'參考? – Damon

+0

p.s.文件沒有被包括在內,但我不確定它是否是subdir的東西,或者只是我的htaccess文件根本不工作..我想這是後者 – Damon

+0

@Damon:'。'是當前目錄 – symcbean

0

在Windows環境中,你會使用分號分隔包含路徑,如下所示:

php_value include_path ".;C:\wamp\www\project\;C:\wamp\www\project\components;C:\wamp\www\project\models" 

但我不確定爲什麼要這樣做。添加子目錄會導致文件命名衝突的可能性。如果你有,C:\ wamp \ www \ project \ components \ example.php和C:\ wamp \ www \ project \ models \ example.php,包括你的包含路徑中的子目錄在嘗試時都會產生歧義包括任一文件。如果您的包含路徑中已經有項目目錄,則可以使用相對路徑調用其中的任何內容。例如:

<?php include 'components/example.php'; ?> 

這將包括C:\ WAMP \ WWW \項目\分量\使用example.php和消除任何文件命名衝突的機會。