我的header.php文件包含我项目的.css。我创建了一个新页面,其中有几个目录。(root / mods / people / employees / addemployee.php)
如果我把文件放在root中,css工作正常。如果我把它放在我想要的地方,那么css就不会出现了。
有解决方法吗?我试图保持井井有条。
添加员工代码:
<?php include("../../../includes/layouts/header.php"); ?>
<div id="main">
<div id="subnavigation">
<?php
include('../../../mods/main_menu/index.html');
?>
</div>
<div id="page">
<p>Add Employee!</p>
</div>
</div>
</div>
<?php include("../../../includes/layouts/footer.php"); ?>
Header.php代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Company H&S Site </title>
<link href="stylesheets/public.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<h1>H&S Site </h1>
</div>
答案 0 :(得分:1)
问题是导致../../../
相对路径调用的头痛问题。相反,我建议你设置一个默认的基本路径,再也不用担心这样的事情了:
<?php
$BASE_PATH = '/the/path/to/the/codebase/';
include_once($BASE_PATH . "includes/layouts/header.php");
?>
<div id="main">
<div id="subnavigation">
<?php
include_once($BASE_PATH . "mods/main_menu/index.html");
?>
</div>
<div id="page">
<p>Add Employee!</p>
</div>
</div>
</div>
<?php include_once($BASE_PATH . "includes/layouts/footer.php"); ?>
如果您不知道文件的基本路径,请将此行放在PHP代码的顶部:
echo "Your path is: " . realpath(dirname(__FILE__)) . "<br />";
然后加载该页面。靠近顶部的某处应该是一行:
您的路径是:/ / path / to / the / codebase /
当然/the/path/to/the/codebase/
将是您的实际文件路径,但这将是您的基本路径。然后只需将$BASE_PATH
设置为该值。
通过使用$BASE_PATH
设置硬编码的基本路径,您始终可以知道代码的位置和位置。可以轻松地将您的页面放在目录结构中的任何位置。
我还建议使用include_once
而不是include
来避免脚本可能无意中尝试多次加载同一文件的情况。
include_once($BASE_PATH . "includes/layouts/header.php");