2013-05-04 34 views
0

從PHP腳本中,我想包含一個「header.php」和「footer.php」文件,它們位於不同的目錄中。他們有HTML在其中,和HTML有引用文件中他們的路徑,例如:將HTML腳本包含在不同的目錄中,同時保持HTML中的文件路徑不變?

<link rel="stylesheet" type="text/css" href="css/custom.css"> 

<a href="about.php">About Us</a> 

當我包括來自PHP文件這個網站(這是另一個目錄)該html在它所包含的目錄中查找文件路徑,而不是從包括

有沒有簡單的解決方法呢?我意識到我可以通過html並在每個文件路徑中添加諸如<?php echo dirname(__FILE__); ?>之類的內容。但是,那是正確的方法嗎?

我應該完全重構我的文件嗎?

目前,PHP腳本是在不同目錄中的原因是因爲目前我的大部分網頁都在服務器的根目錄 - 所以我的CSS js和模板文件位於名爲「css」「js」的文件夾中,和「inc」;但我想讓一些網頁位於格式爲「[root] /Account/settings.php」的網址中。所以我試圖把一些php頁面放到名爲Account的根目錄下的一個文件夾中。但是當我試圖包含我的模板文件時,其中的文件路徑會變得混亂。

+0

HTML中的URL由瀏覽器處理,而不是由服務器處理。它將它們解釋爲與包含它們的文檔的URL相關,因爲它不知道關於包含在服務器上發生的任何事情。 – Barmar 2013-05-04 00:39:57

回答

0

使用以下路徑 -

<link rel="stylesheet" type="text/css" href="/css/custom.css"> 

<a href="/about.php">About Us</a> 

這是假設的CSS目錄和簡介都在你的文檔根目錄。真的是一個簡單的HTML和路徑問題,而不是PHP,如果我理解你正在嘗試做什麼。

+0

謝謝!這是否適用於PHP也包含文件路徑?如果沒有,那麼在那種情況下我可以用什麼來做同樣的事情呢? – vijrox 2013-05-04 00:57:10

+0

試試'include($ _ SERVER ['DOCUMENT_ROOT']''/includes/script.php');' - 我經常這樣做。同時建議您查看一下MVC框架,比如Laravel或CodeIgniter。 – NightMICU 2013-05-04 01:01:15

相關問題