2011-08-08 36 views
0

我真的希望有一個簡單的解決方案。父目錄和PHP

<?php include("header.php"); ?> 

比方說,我有我的根文件夾中的PHP頭簡單地題爲的header.php。在那個頭文件中有一個回到主頁的鏈接,main.php,main.php也位於根目錄下。到目前爲止沒有問題。以下是header.php的樣子。簡單的東西,對吧?

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

<div id="headerwrap"> 

     <div id="linkbox"> 
      <a href="main.php"><img src="images/mainlogo.png" /></a> 
     </div><!-- End linkbox --> 

</div> 

但是,假設我在子目錄中有其他頁面。 Subpage.php位於根目錄的子目錄中,因此它必須回頭查看根目錄以獲取包含的header.php

<?php include("../header.php"); ?> 

這不會是一個大問題,只是的header.php鏈接回到main.php也樣式表,其中沒有一個是在* subpage.php的目錄,因此當Subpage上的某個人試圖通過標題中的鏈接返回到Main時導致錯誤。

我只是希望有一個簡單的方法來完成這項工作,而且我不需要將所有包含的內容複製並重定向到每個子目錄中。此外,還有太多的頁面將它們全部合理地包含在根目錄中。對不起,如果這個答案在別處發佈;我看過,只是沒有真正的想法,我在找什麼。謝謝你的幫助。希望一切都有道理。

回答

0

如何使用絕對鏈接。 header.php中還應該參考main.php絕對,那麼就應該是沒有煩惱:

<?php include($_SERVER['DOCUMENT_ROOT'].'/header.php"); ?> 
0

您可以使用base HTML標籤:

<base href="http://yoursite.com/" /> 

這種方式,您可以使用該網址爲基礎爲你的所有鏈接/樣式表/圖像,你不需要擔心,如果他們在一個子目錄。

0

做的最好的事情是在習慣開始使用

$_SERVER['DOCUMENT_ROOT'] 

這樣以你現在的目錄中,您有沒有困惑,等

所以包括你的頭了例子是簡單:

include $_SERVER['DOCUMENT_ROOT'] . "/header.php"; 
1

你可以header.php文件中只是硬編碼main.php的路徑:

<a href="http://website.com/main.php"><img src="http://website.com/images/mainlogo.png" /></a> 
1

與之相對的PHP的概率,這似乎是一個html概率..

你的鏈接應與在前/即相對鏈接

<a href="/main.php"> Text </a> 

,而不是

<a href="main.php"> Text </a>