2011-08-01 123 views
0

我有一個toolbarMenu.php,它使用來自根文件夾的css目錄(「css」)中的css。如何用PHP保存路徑結構?

我的所有其他的PHP形式的根文件夾,並計劃重新組織我所有的PHP形式是移動到一個新的文件夾名爲「形式」 exluding toolbarMenu.php

後,我將我的PHP形式子目錄,我可以通過使用包括 前調用這個toolbarMenu.php:

<?php include("../toolbar-top.php"); ?> 

然而,CSS路徑打破了,因爲它試圖尋找的表格文件夾內的css文件夾。我不想將我的toolbarMenu.php中的css路徑更改爲「../css/file.css」,因爲我也使用此網頁的根網頁。

當從另一個子目錄的PHP表單中調用toolbarMenu.php的css路徑時,有沒有辦法保留toolbarMenu.php的css路徑?

從根文件夾:

工具欄菜單路徑: 「toolbarMenu.php」

CSS道: 「CSS/cssFile.css」

PHP形式調用ToolbarMenu:「表格/表格。 php「

我希望我的問題明確:)

謝謝!

+0

所以在toolbarMenu.php的CSS中的引用打破,因爲他是試圖從文件夾訪問它們? –

+0

yes .. from my toolbarMenu.php ..因爲toolbarMenu.php是從另一個PHP窗體從子目錄「forms」中調用的,所以這個窗體正在尋找「css/cssFile」,所以css路徑是「css/cssFile.css」。 CSS「,但如果我改變它」../css/cssFile.css「它的工作..但我不想改變它本地,因爲其他頁面從根目錄使用它toolbarMenu.php以及 –

回答

4

您可以使用絕對路徑,例如

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

,或者,如果你想保持它便攜,爲相對路徑設置一個動態<base>。這樣,您就可以將整個應用程序移動到一個子目錄沒有打破引用鏈接,如

​​
+0

我目前使用本地主機。我將如何使用本地主機作爲我的基地?我試過但它沒有工作 –

+0

@Arnold不要忘記最後一個斜槓,試試''我已經更新了我的答案以更好地匹配你的環境 – Phil

+0

這個工作, 「最後是問題,非常感謝你! –

0

您可以寫你的CSS文件選擇:

css/file.css 

/css/file.css 

這將在所有文件夾的工作。

+0

我試過了,但它沒有工作:( –

+0

@ arnold-porche-villaluz這兩者之間的區別是有保證的行爲,如果不行的話,就會出現錯誤 – Christian

+0

@Christian OP讓我們困惑,說'css'目錄在「root」目錄下。它實際上在一個'mySite'子目錄中 – Phil

1

你有多種選擇,以獲得期望的結果:

  1. 您可以定義一個前綴變量/常數在每個頁面的頂部,然後在所有包含/網址/等等中使用。
  2. 您也可以使用<base>標籤在你的頭指向的絕對URL ../所以像http://ys.cc/proj/如果你forms目錄http://ys.cc/proj/forms
+0

@菲爾你說得對,修好了。謝謝 –