【问题标题】:Include html pages in a php file在 php 文件中包含 html 页面
【发布时间】:2013-07-30 22:45:01
【问题描述】:

我想使用 html 和 css 创建一个模板,所以我创建了以下 template.html 文件:

<!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=iso-8859-1" />
<title>Application</title>
<link href="CSS/layout.css" rel="stylesheet" />
<script src=""></script>
</head>

<body>
<div class="wrapper">
    <div class="header">
        <!--<div class="header_left"></div>
        <div class="header_right"> -->
            <h3>Application</h3>
            <h4>****  Project ****</h4>

    </div>
    <div class="navbar">
        <ul class="mainnavbar">
            <li><a href="#">Home</a></li>
            <li><a href="login.html">About</a></li>
            <li><a href="#">Description</a></li>
            <li><a href="#">Contact Me</a></li>
        </ul>
    </div>
    <div class="mainbody">
        <div class="leftcol">
            <div class="left_navbar">
                <ul class="left_inner">
                    <li><a href="#">Login</a></li>
                    <li><a href="#">About</a></li>
                    <li><a href="#">Description</a></li>
                    <li><a href="#">Contact me</a></li>
                </ul>
            </div>
        </div>
        <div class="midcol">
            Center
        </div>
        <div class="rightcol">
            Right Column
        </div>
    </div>
    <div class="footer">Designed By <a href="">Me</a></div>
</div>
</body>
</html>

因为我要创建一个动态网站我想把这个template.html分离成index.php、header.php、navbar.php、home.php和footer.php。所以我做了以下事情:

index.php

<?php
include("includes/header.html");
include("includes/navbar.html");
include("includes/home.html");
include("includes/footer.html");
?>

header.html

<!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=iso-8859-1" />
<title>Application</title>
<link href="CSS/layout.css" rel="stylesheet" />
<script src=""></script>
</head>
<body>
<div class="wrapper">
    <div class="header">
        <!--<div class="header_left"></div>
        <div class="header_right"> -->
        <h3>Application</h3>
        <h4>****Project ****</h4>
    </div>

navbar.html

<div class="navbar">
<ul class="mainnavbar">
    <li><a href="#">Home</a></li>
    <li><a href="login.html">About</a></li>
    <li><a href="#">Description</a></li>
    <li><a href="#">Contact Me</a></li>
</ul>
</div>

home.html

<div class="mainbody">
<div class="leftcol">
    <div class="left_navbar">
        <ul class="left_inner">
            <li><a href="#">Login</a></li>
            <li><a href="#">About</a></li>
            <li><a href="#">Description</a></li>
            <li><a href="#">Contact me</a></li>
        </ul>
    </div>
</div>
<div class="midcol">
    Center
</div>
<div class="rightcol">
    Right Column
</div>
</div>

footer.html

<div class="footer">Designed By <a href="">me</a></div>
</div>
</body>
</html>

我将这些文件放在一个名为 include 的文件夹中。我只是将文件 template.html 分成 4 个 html 文件,然后从 index.php 中调用它们,但是当我在浏览器中运行 index.php 时,我只是得到一个白页。有什么遗漏吗?

【问题讨论】:

  • include 不是函数,使用include "includes/header.html"
  • 你可以像函数一样使用它。
  • @koala_dev: 你确定这个语法不正确吗include("file")
  • @Akam 语法正确
  • 将此行添加到index.php 的顶部:error_reporting(E_ALL);

标签: php html


【解决方案1】:

您的代码(包含 html 的语法和想法)很好。应该可以的。

您必须在其他地方搜索问题。

也许您有以下问题:

  • Web 服务器配置(虚拟主机、目录等)
  • 错误的 url / 错误的服务器(正在刷新一些 Web 服务器 url,但您在本地 XAMPP 上工作)
  • 文件权限(不过 apache 在这种情况下通常会报错)

查看网络服务器错误日志可能会有所帮助。

【讨论】:

    【解决方案2】:

    确保您不只是通过在浏览器中本地打开 template.html 来运行它。

    由于PHPserver side language,您需要在本地服务器上的实时服务器上运行该页面,例如Apache。在本地开发需要 PHP 的网站时,WAMP 也是一个不错的工具。

    【讨论】:

      【解决方案3】:

      您也可以使用file_get_contents("path_to_file/file.html") 代替include()

      但前提是有 HTML 内容,而不是 PHP

      【讨论】:

      • 如果您使用 file_get_contents 您还必须对这些内容进行处理(例如 echo)
      • 可以,但这不是file_get_contents() 的用途,而且当include() 存在时,这是一个糟糕的选择。
      猜你喜欢
      • 1970-01-01
      • 2014-05-11
      • 2015-10-30
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多