样式表的路径不工作php

时间:2014-03-11 21:57:01

标签: php path stylesheet

我试图链接样式表但由于某种原因我去了页面,它好像没有链接到页面(即好像没有样式表)。这是页面的代码。我是新手,所以我不知道我是否提供足够的信息,也不能想到任何其他东西。提前致谢

<?php
$path = $_SERVER['DOCUMENT_ROOT'];

echo "
<!DOCTYPE HTML>
<HTML>
    <head>
        <meta charset=\"utf-8\">
        <title>Home - Study Success</title>
        <!-- link to Styles -->
        <link rel=\"stylesheet\" href= \"$path/test/styles.css\">
    </head>
";

include_once ("$path/test/wrapper.php");

如果我查看源页面,在新选项卡中复制并粘贴样式表的路径,样式表会打开,但如果我单击并选择在新选项卡中打开,我会得到一个空白页面。刚刚在firefox上打开它,查看了源页面并点击了样式表的路径,这就是我得到的,我仍然不知道如何解决这个问题!?

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /test/.C:/Program Files       (x86)/Apache/htdocs/test/styles.css
on this server.</p>
</body></html>

3 个答案:

答案 0 :(得分:1)

客户端的Web服务器的根目录是服务器端的$_SERVER['DOCUMENT_ROOT']文件夹。

所以你可以使用:

<link rel="stylesheet" href="/test/styles.css">

(不包括$path

答案 1 :(得分:0)

$_SERVER['DOCUMENT_ROOT']提供服务器上的根路径,而不是URL。请尝试使用$_SERVER['SERVER_NAME']代替

答案 2 :(得分:0)

哦,我明白你的意思了,不要依赖于文件系统中的$_SERVER['DOCUMENT_ROOT'];

<?php
// this can go in a config file that you can include
define('CSS_PATH', realpath(dirname(__FILE__).'/css'));

echo '
<!DOCTYPE HTML>
<HTML>
    <head>
        <meta charset="utf-8">
        <title>Home - Study Success</title>
        <!-- link to Styles -->
        <link rel="stylesheet" href="'.CSS_PATH.'/test/styles.css">
    </head>
';

include_once (CSS_PATH."/test/wrapper.php");

现在我不确定为什么你在同一目录中有style.csswrapper.php,但在这个例子中我假设你把它放在一个名为css的目录中。

所以你可能需要调整一下,但是你明白了......