我最近正在做一个学校项目的网站。为了组织我的工作,我创建了一个树状文件夹,将所有工作组织在一起。就像这样:
后台
页面
资源
部分
毕竟,使用PHP中可用的require()
方法,我想将“ navbar.php”文件命名为“ home_test1.php”,“ home_test2.php”和“ home_test3.php”,但是与文件“ navbar.php”(“ style_navbar.php”)关联的CSS样式不会显示。
当我{{1}}到另一个文件(“ home_test1.php”)并且显示CSS样式时,我试图在文件“ navbar.php”中更改CSS样式的路径,但不会显示在具有不同路径的其他文件中。如何动态地进行这项工作?抱歉,发布时间太长,英语语法不好。
谢谢。
答案 0 :(得分:0)
您需要使用绝对路径而不是相对路径来设置css和js文件
$dir = realpath($_SERVER["DOCUMENT_ROOT"]);
<link rel="stylesheet" href="<?php echo $dir.'/resources/css/style_home.css'; ?>" >
答案 1 :(得分:0)
在物理上看不到您的代码很难调试,但是我建议您以一个“明显的”答案作为起点。
要记住的重要一点是,PHP和HTML的处理位置完全不同。 PHP在服务器上执行,应用于构建提供给客户端/浏览器的完整HTML“文档”。然后,客户端/浏览器读取提供的文档并根据HTML标准对其进行呈现。
调用require()
将告诉PHP获取文件并将其内容直接放在调用位置,因为它是CSS文件,因此需要放在style
标记内。在许多现代浏览器中,如果在require
标记之外的文件上使用html
,则内容将被转储到屏幕顶部,或者由于语法无效而被忽略。
或者,如果您只想使用告诉浏览器包含CSS文件,则可以使用旧的使用<link rel="stylesheet" href="/path/to/file">
的方法。很高兴知道何时以及何时不使用PHP。
PS:您的JS目录中有.css
个文件。
答案 2 :(得分:0)
在PHP中,有一个全局变量,其中包含与服务器有关的各种详细信息。它称为$_SERVER.
,它还包含根:-
$ _ SERVER ['DOCUMENT_ROOT']
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
<link rel="stylesheet" href="<?php echo $path.= '/Resources/CSS/style_navbar.css';?>" />
?>