如何用PHP保存路径结构?

时间:2011-08-01 06:20:43

标签: php css include

我有一个toolbarMenu.php,它使用来自根文件夹的css目录(“css”)中的css。

我所有其他PHP表单都在根文件夹中,并计划重新组织我的所有PHP表单以移动到名为“forms”的新文件夹,包括toolbarMenu.php

将PHP表单移动到子目录后,我可以使用include调用此toolbarMenu.php 例如:

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

然而,CSS路径崩溃是因为它试图在forms文件夹中查找css文件夹。我不想将我的toolbarMenu.php中的css路径更改为“../css/file.css”,因为我也使用这个php页面和网站的根页。

当从另一个子目录中从PHP表单调用时,有没有办法保留toolbarMenu.php的css路径?

从Root文件夹:

工具栏菜单路径:“toolbarMenu.php”

CSS路径:“css / cssFile.css”

调用ToolbarMenu的PHP表单:“forms / form.php”

我希望我明白我的问题:)

谢谢!

3 个答案:

答案 0 :(得分:4)

您可以使用绝对路径,例如

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

或者,如果您想保持其可移植性,请为相对路径设置动态<base>。这样,您可以将整个应用程序移动到子目录,而不会破坏参考链接,例如

<!-- in HEAD -->
<base href="http://localhost/mySite/">
<link rel="stylesheet" type="text/css" href="css/file.css">

答案 1 :(得分:1)

您有多种选择可以获得所需的结果:

  1. 您可以在每个页面的顶部定义一个前缀变量/常量,然后在所有的includes / urls / etc中使用。
  2. 您还可以使用标题中的<base>标记指向../的绝对网址,如果您的http://ys.cc/proj/目录为forms,则http://ys.cc/proj/forms之类的内容

答案 2 :(得分:0)

您可以从以下位置编写css文件选择器:

css/file.css

/css/file.css

这适用于所有文件夹。