2013-05-03 98 views
0

我想在每個使用PHP的頁面中包含一個標題,以便在編輯標題時我不必在每個頁面上都更改它。不過,我很確定,如果我這樣做,相關鏈接將根據PHP所包含的頁面執行。使用絕對鏈接執行此操作有任何問題嗎?對不起,如果這是一個簡單的問題,只是想知道是否有任何相關的規則。在PHP中使用絕對鏈接包含的標題

<header> 
      <div class="navbar"> 
       <a href="/"><img style="margin:10px;" src="../images/logo.png" alt="logo"/></a> 
       <a href="/"><img style="position:relative;bottom:14px;" src="../images/line.png" alt="line"/> </a> 
       <a href="/"><img class="navbaricon" id="one" src="../images/home.png" alt="home"/></a> 
       <a href="JavaScript:void(0);"><img class="navbaricon" id="two" src="../images/artist.png" alt="artists"/></a> 
       <a href="../releases"><img class="navbaricon" id="three" src="../images/releases.png" alt="releases"/></a> 
       <a href="../join"><img class="navbaricon" id="four" src="../images/join.png" alt="join"/></a> 
      </div> 
      <div class="artists"> 
       <div class="artistlinks"> 
       <p>Brady Hartvigsen</p> 
       <a href="../artists/bradyhartvigsen"><img src="../images/artists/bradymain.jpg" alt="Brady Hartvigsen"/></a> 
       <p>Catalyst</p> 
       <a href="../artists/catalyst"><img src="../images/artists/catalystmain.jpg" alt="Catalyst"/></a> 
       <p>Emmi Moffitt</p> 
       <a href="../artists/emmimoffitt"><img src="../images/artists/emmimain.jpg" alt="Emmi Moffitt"/></a> 
       <p>Frederik Jyll</p> 
       <a href="../artists/frederikjyll"><img src="../images/artists/fredmain.jpg" alt="Frederik Jyll"/></a> 
       <p>J.R. Hansen</p> 
       <a href="../artists/jrhansen"><img src="../images/artists/jrmain.jpg" alt="JR Hansen"/></a> 
       <p>Kate Berry</p> 
       <a href="../artists/kateberry"><img src="../images/artists/katemain.jpg" alt="Kate Berry"/></a> 
       <p>Ryan Cluff</p> 
       <a href="../artists/ryancluff"><img src="../images/artists/ryanmain.jpg" alt="Ryan Cluff"/></a> 
       <p>Silter</p> 
       <a href="../artists/silter"><img src="../images/artists/siltermain.jpg" alt="Silter"/></a> 
       </div> 
      </div> 
      <script> 
       $("a:nth-child(4)").click(function() { 
        $(".artists").animate({width:'toggle'},500); 
       }); 
      </script>  
     </header> 

這是我的頭現在看起來像

+2

代碼請.... – 2013-05-03 04:28:31

+1

不存在沒有包含絕對鏈接的規則。 – 2013-05-03 04:29:36

回答

2

您可以同時使用絕對路徑和相對路徑。使用相對路徑時,必須確保路徑與包含的路徑相對。

我會推薦使用相對路徑,因爲將站點移動到服務器上的另一個服務器或路徑會容易得多。

此外,你可能會談論相關的html鏈接。我通過在主文件中設置一個「rel」參數來解決這個問題。

這兩種類型的相對該樣品中解決:

/mysite的/根目錄/索引。PHP

<?php 
define('RELPATH',''); 
include_once(RELPATH.'../includes/header.inc.php'); 
... 
?> 

/mysite/webroot/otherpage/index.php

<?php 
define('RELPATH','../'); 
include_once(RELPATH.'../includes/header.inc.php'); 
... 
?> 

/mysite/includes/header.inc.php

<html> 
.... 
<body> 
.. 
<a href="<?php print RELPATH;?>">Front page</a><br /> 
<a href="<?php print RELPATH;?>otherpage/">Other page</a><br /> 
1

我相信你指的是包括在其他的PHP文件。

有沒有規則?不,但最好堅持相對路徑。注意以下幾點:如果您使用絕對路徑文件夾

  1. /當站點(即使在同一域)移動到其他位置的子文件夾,你就會有麻煩了。所以堅持相對的參考。

  2. 有某種'逃生路線',這樣如果有人試圖直接讀取包含文件,它不應該使系統易受攻擊。例如,您可能會將變量設置爲某個特定值並在文件中檢查它。這不一定是安全的事情,但它可能會阻止網站「以意想不到的方式行事」。

包括在另一個PHP文件的PHP文件的實施例...

步驟: 1.創建一個單獨的文件(例如:myheader.php)。請記住,這必須是PHP。不是HTML。 2.粘貼標題。保存。 3.在需要調用它的文件,包括類似這一行或東西:

<?php include "myheader.php"> 

如果該文件是當前文件夾的文件夾中,使用這樣的:

<?php include "../myheader.php"> 

要轉到當前文件夾的兩個級別,使用:

<?php include "../../myheader.php"> 

如果該文件是在當前文件夾內的子文件夾,使用此:

<?php include "SubFolderName/myheader.php"> 
+0

因此,如何建議在所有頁面中包含此標題,以便我只需編輯一個文件以使更改顯示在整個網站上,因爲如果我使用相對引用,它們將不適用於網站中的所有頁面在不同的目錄中 – 2013-05-03 04:40:19