PHP 包含 HTML 文件


php include html file?

我只需要包含一个html文件(其中包含我所有页面的导航栏)。

我试过:<?php htmlentities(file_get_contents("include/navigation.html")); ?>

但什么都没有出现。

我已经检查了其他类似的问题,上面的代码始终是答案。那么为什么它对我不起作用呢?

如果需要,这是我的导航文件:

<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="index.html">[ ] Advanced Web Development</a>
        </div>
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav navbar-right">
                <li class="active">
                    <a href="index.html">Home</a>
                </li>
                <li>
                    <a href="#about">About</a>
                </li>
                <li>
                    <a href="#resume">Résume</a>
                </li>
                <li>
                    <a href="#blog">Blog</a>
                </li>
                <li>
                    <a href="#projects">Projects</a>
                </li>
                <li>
                    <a href="#blog">Contact</a>
                </li>
                <!--
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Portfolio <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li>
                            <a href="portfolio-1-col.html">1 Column Portfolio</a>
                        </li>
                        <li>
                            <a href="portfolio-2-col.html">2 Column Portfolio</a>
                        </li>
                        <li>
                            <a href="portfolio-3-col.html">3 Column Portfolio</a>
                        </li>
                        <li>
                            <a href="portfolio-4-col.html">4 Column Portfolio</a>
                        </li>
                        <li>
                            <a href="portfolio-item.html">Single Portfolio Item</a>
                        </li>
                    </ul>
                </li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Blog <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li>
                            <a href="blog-home-1.html">Blog Home 1</a>
                        </li>
                        <li>
                            <a href="blog-home-2.html">Blog Home 2</a>
                        </li>
                        <li>
                            <a href="blog-post.html">Blog Post</a>
                        </li>
                    </ul>
                </li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Other Pages <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li>
                            <a href="full-width.html">Full Width Page</a>
                        </li>
                        <li>
                            <a href="sidebar.html">Sidebar Page</a>
                        </li>
                        <li>
                            <a href="faq.html">FAQ</a>
                        </li>
                        <li>
                            <a href="404.html">404</a>
                        </li>
                        <li>
                            <a href="pricing.html">Pricing Table</a>
                        </li>
                    </ul>
                </li>
            -->
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
    <!-- /.container -->
</nav>

在上面的示例中,php 正在从文件创建一个字符串,但对它不执行任何操作。为了使您的代码正常工作,您需要添加一个回显:

<?php echo htmlentities(file_get_contents("include/navigation.html"));

这是因为函数通常有三种方式可以影响事物:

  1. 返回一个值(htmlentities 做什么)
  2. 修改传递给它们的 (a) 值(查看通过引用传递
  3. 直接回显内容或将某些内容回显到输出缓冲区

由于 htmlentities 返回一个值,因此不会向输出发送任何内容。您必须将其保存到变量以供以后输出,或者立即将其回显/打印到输出。

或者,您可以按照@David的建议将其包含在内。

虽然在

普通代码上使用echo就足够了,但如果您希望人们能够访问 HTML,您可以将其包含在 php 文件本身中,除了<?php ?> tag.

htmlentities() 不会输出到浏览器。您仍然需要echo()或以其他方式输出。

<?php echo htmlentities(file_get_contents("include/navigation.html")); ?>

或者按照注释中的建议使用 include() 嵌入整个文件。PHP 将尝试处理该文件,因此请确保它不包含任何 PHP 代码。

<?php include( "include/navigation.html" ); ?>

尝试:

<?php
    $file = htmlentities(file_get_contents("include/navigation.html"));
    echo $file;
?>