0
我使用了一個簡單的解決方案用於獲取服務器的根,它工作得很好用我包括:使用PHP標籤HREF內=「」定義
<?php $root = $_SERVER['DOCUMENT_ROOT'].'/frizkie'; ?>
我正在做一些表格,以及包含該表的PHP文件嵌套不少目錄下來:
/main/tools/planners.php
我的圖片位於:
/images/staticons/
我的代碼如下所示:
<td onClick="document.location.href='planners/agility.php';">Contents</a></td>
我希望能夠使用$根目錄下的「策劃/ agility.php」的一部分,但這樣做是這樣的:
onClick="document.location.href='<?php echo $root; ?>/planners/agility.php';"
導致onClick部分根本無法工作。除此之外,我還想使用$root
變量使用相同的方法定義表格單元格背景。我已經嘗試在後臺=「」定義中使用PHP標記,但圖像不顯示在Chrome或Firefox中 - 僅顯示IE9。
查看文件源是否顯示var? – 2012-02-14 04:35:18
'
回答
$_SERVER['DOCUMENT_ROOT']
可以說是服務器端路徑,正如您已經注意到的那樣。你不需要把它放在你的標記,CSS和JS中。我會堅持絕對相對路徑,如/images/background.jpg
(注意引導斜線)。即使你的網頁是由URL像http://example.com/blog/123-my-beautiful-post/
圖像訪問這樣從
http://example.com/images/background.jpg
,而不是
http://example.com/images/blog/123-my-beautiful-post/images/background.jpg
下載。使用
DOCUMENT_ROOT
可以幫助您在文檔根目錄中散佈多個文件時使用相對路徑,這讓我很頭疼。如果你真的想在你的網頁中找到完整的網址,那麼你可以嘗試使用$_SERVER['SERVER_NAME']
來處理這個問題,但我真的不明白需要這樣做。來源
2012-02-14 04:51:12 ashein
我想我試圖讓它變得更加複雜而不是必要的,並且可能在過去做了一些錯誤,讓我覺得用反斜槓啓動路徑不會自動進入根目錄。我認爲我很困惑,因爲我的本地服務器文件heirarchy的結構與webserver(localhost vs domain.com)的根目錄有所不同。謝謝一堆! – taylorthurlow 2012-02-14 04:58:42
當您編寫HTML標記時,請勿在您的hrefs中使用服務器路徑。相反,hrefs應該是相對於您的網站域的基礎。
當您要通過require/require_once/include/include_once加載PHP文件時使用文檔根目錄。
另外,爲什麼你的代碼不工作的原因可能是因爲某些Web服務器安裝,下列三個條件之一的文檔根目錄中(在Apache的httpd.conf集):
所以,你必須檢查所有的三個條件,然後決定,也就是說,總有結尾的斜線。
如果未設置,則應該將$ docroot明確設置爲定義的常量,如define(「DOCROOT」,「/ user/home/jayleno /」),然後在整個代碼中使用該常量。
來源
2012-02-14 05:43:34
相關問題