2011-08-01 73 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

@菲尔你说得对,修好了。谢谢 –