题
我想在用我的头文件链接到一个样式表$ _ 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但是。这显然是一个验证问题。但是,我试图在服务器上相同的代码 - 具有相同的结果。 :(
我要如何去修复呢?最终产品可以是或不是一个本地服务器上运行,所以我需要的代码是柔性..
我使用深渊网络服务器X1用PHP 5.2.8
我必须使用绝对路径 - 因为我不想给包括文件夹复制到应用程序的每一个子目录。我需要能够从每个位置参考。强>
解决方案
只要使用这样的:
<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中。
其他提示
尝试使用:
$_SERVER['HTTP_HOST']
不要使用一个文件系统绝对路径,使用相对于(但不包括)的文档根的路径。在这种情况下只是/include/style.css
。
有关使用从浏览器本地文件,使用file
方案。
file://C:/dir/file.ext
file:///dir/file.ext
不知道,如果你需要两个或三个斜线,可能有两个与盘符窗口,三在* nix与根斜线,但我似乎记得看到三个斜杠盘符中。试试吧! :P
尝试使用DIRECTORY_SEPARATOR
恒定。它在Windows系统返回\上和/ * nix系统。
首先,文档根是字面上是位于web服务器的/目录。你通常不希望在网络上的任何内容使用。使用/代替。
不隶属于 StackOverflow