Php 如何在网页中正确包含头文件

Php 如何在网页中正确包含头文件,php,html,Php,Html,所以我有一个头文件: <html> <head> <link href="/design_header.css" rel="stylesheet" type="text/css" /> </head> <body> content </body> </html> e同一类型已打开 如何做好这件事?顺便说一句,我也用同样的方法在网页底部放置一个页脚。你的头文件应该只包含你想要的页眉HTML文本。 因为

所以我有一个头文件:

<html>
<head>
   <link href="/design_header.css" rel="stylesheet" type="text/css" />
</head>
<body>
   content
</body>
</html>
e同一类型已打开


如何做好这件事?顺便说一句,我也用同样的方法在网页底部放置一个页脚。

你的头文件应该只包含你想要的页眉HTML文本。 因为它将被插入到另一个网页中,所以它不应该是完整的HTML文档

头中只有头的HTML 一种选择是在头文件中只包含头文件的HTML(由包含它的所有页面使用)。但是,这样做的缺点是,您没有遵循在呈现之前加载CSS的建议

见:

头文件

 <link href="/design_header.css" rel="stylesheet" type="text/css" />
 content
 Header content
  <link href="/design_header.css" rel="stylesheet" type="text/css" />
Whatever else is global...
包含CSS的文件(用于包含)


不管还有什么是全球性的。。。
其他文件

  <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     <head>
     meta tags etc.
    </head>
    <body> 
      <div id="container_big">
       <?php include 'header_login.php'; ?>
        content
      </div>
    </body>
    </html>
  <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     <head>
     meta tags etc.
      <?php include 'global_head_include.php'; ?>
    </head>
    <body> 
      <div id="container_big">
       <?php include 'header_login.php'; ?>
        content
      </div>
    </body>
    </html>

元标记等。
内容

这是我在当前PHP站点中设置页眉和页脚的方式:

header.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
        <title>James Wright - Young Software Developer</title>
        <link rel="stylesheet" href="style.css" />
        <meta name="description" content="The online home of a young web designer and software developer." />
        <link rel="icon" type="image/png" href="/img/ico.png" />
    </head>
    <body>
        <div id="holder">
            <div id="menu"></div>
            <div id="mainContent">
            </div>
            <div id="mainReflect"></div>

            <p class="footer">&copy; James Wright <?php echo date("Y"); ?>. Minimum resolution: 1024x768            <a href="http://validator.w3.org/check?uri=referer" target="_blank"><img
  src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" style="vertical-align: middle;"/></a>        
                <a href='http://www.powermapper.com/products/sortsite/'><img src='http://www.powermapper.com/images/badge-v1/sortsite-badge-small-5.png' width="80" height="15" alt='Broken link checker and accessibility checker top 5% - SortSite' style='vertical-align: middle;'/></a>             
            </p>
        </div>
    </body>
</html>

詹姆斯·赖特-年轻的软件开发人员
footer.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
        <title>James Wright - Young Software Developer</title>
        <link rel="stylesheet" href="style.css" />
        <meta name="description" content="The online home of a young web designer and software developer." />
        <link rel="icon" type="image/png" href="/img/ico.png" />
    </head>
    <body>
        <div id="holder">
            <div id="menu"></div>
            <div id="mainContent">
            </div>
            <div id="mainReflect"></div>

            <p class="footer">&copy; James Wright <?php echo date("Y"); ?>. Minimum resolution: 1024x768            <a href="http://validator.w3.org/check?uri=referer" target="_blank"><img
  src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" style="vertical-align: middle;"/></a>        
                <a href='http://www.powermapper.com/products/sortsite/'><img src='http://www.powermapper.com/images/badge-v1/sortsite-badge-small-5.png' width="80" height="15" alt='Broken link checker and accessibility checker top 5% - SortSite' style='vertical-align: middle;'/></a>             
            </p>
        </div>
    </body>
</html>

©;詹姆斯·赖特。最小分辨率:1024x768

然后,每当我创建一个新页面时,我需要做的就是:

<?php include("header.php"); ?>
<p>Main body content!</p>
<?php include("footer.php"); ?>

主体内容


是否使用多个包含文件?一个用于包含在头标签中,一个用于在容器开始时插入,另一个用于包含在容器结束时?我同意,多个文件是实现此目的的方法。此外,您可以通过将相关文件放置在具有适当名称的子目录中来对其进行分组,或者在文件名中使用约定。我从标题中删除了所有html代码,因此留下了一个纯.php文件。然后我加入了标题的css,就像我加入网页的css一样。现在它不会抛出错误。这是一个合适的解决方案吗?@erdomester建议在中加载CSS,原因如下:与我所做的几乎相同(解决方案1)。但是在您的解决方案中(当css位于头文件中时),我在“Element link缺少必需的属性属性”上得到了一个验证程序错误。这是我的工作方式,但它与IDE(编辑器)有一个缺点,编辑器将警告您,您没有某些元素的结束标记(“持有者”、“主要内容”)在header.php中,当您尝试像在netbeans(alt+shift+f)中那样格式化文件时会出现问题,这似乎会节省大量工作,但是头文件中的所有自定义内容呢?每个页面都需要不同的标题、描述以及可能不同的javascript和css文件。这是我为每一页写下答案的唯一原因。在头文件中分配变量对我来说也似乎毫无意义,因为它们可能会有太多的变化。这就是为什么我转向ASP.NET MVC和Node.js(例如,使用EJS作为视图引擎),它与大多数现代web框架一样,具有创建通用布局和页面的功能,同时避免了您提到的问题。