0

我正在尝试使用 $_SERVER["DOCUMENT_ROOT"] 链接到我的头文件中的样式表,如下所示:

<head>
    <?php
        print "<link href='".$_SERVER["DOCUMENT_ROOT"]."/include/style.css' rel='stylesheet' type='text/css' />";
    ?>
    <title>eLMS</title>

</head>

由于我在本地进行测试,因此我得到的路径为:

<head>
    <link href='C:\Users\wretrOvian\Documents\eLMS\site/include/style.css' rel='stylesheet' type='text/css' />      <title>eLMS</title>

</head>

这不是在 Firefox 中呈现的。然而,它在 IE 中确实如此。这显然是一个验证问题。但是,我在服务器上尝试了相同的代码 - 结果相同。:(

我该如何解决这个问题?最终产品可能会或可能不会在本地服务器上运行,所以我需要代码灵活..

我正在使用带有 PHP 5.2.8 的 Abyss Webserver x1

我必须使用绝对路径 - 因为我不想将包含文件夹复制到应用程序的每个子目录。我需要能够从每个位置引用它。

4

6 回答 6

9

只需使用这个:

<head>
    <link href='/include/style.css' rel='stylesheet' type='text/css' />
    <title>eLMS</title>
</head>

或者,如果它在本地使用:

<head>
    <link href='../include/style.css' rel='stylesheet' type='text/css' />
    <title>eLMS</title>
</head>

文档根目录仅供内部使用(PHP 内部),不用于您的 HTML。

于 2010-01-06T19:12:54.137 回答
1

尝试使用:

$_SERVER['HTTP_HOST']
于 2010-01-06T19:13:13.567 回答
1

不要使用文件系统绝对路径,使用相对于(但不包括)文档根目录的路径。在这种情况下只是/include/style.css.

于 2010-01-06T19:14:30.040 回答
0

要从浏览器使用本地文件,请使用该file方案。

file://C:/dir/file.ext
file:///dir/file.ext

不确定您是否需要两个或三个斜杠,可能两个在带有驱动器号的 Windows 上,三个在带有根斜线的 *nix 上,尽管我似乎记得在驱动器号上看到三个斜线。试试看!:P

于 2010-01-06T19:12:52.890 回答
0

尝试使用DIRECTORY_SEPARATOR常量。它在 Windows 系统上返回 \,在 *nix 系统上返回 /。

于 2010-01-06T19:12:54.783 回答
0

首先,文档根目录实际上是 Web 服务器的 / 所在的目录。您通常不希望将其用于网络上的任何内容。使用 / 代替。

于 2010-01-06T19:13:31.360 回答