PHP Include for HTML?

2022-08-30 16:05:52

我有一个导航栏,一个图像和一个标题,我将包含在我网站的每个页面中,所以我想使用php include在几个页面中引用此代码。但是,我认为我可能有语法错误或其他原因,因为它在加载时没有呈现任何内容。以下是一些代码片段:

<!-- sample page --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html>  
<head>  
<?php include ('headings.php'); ?>
</head>
<body>
<?php include ('navbar.php'); ?>
<?php include ('image.php'); ?> 
</body>
</html>

导航栏.php

    <?php 

    echo '<ul id="nav">
        <li>
            <a href="Home.html">Home</a>
        </li>
        <li>
            <a>About Me</a>
            <ul>
                <li>
                    <a href="Career.html">Career</a>
                </li>
                <li>
                    <a href="Coding.html">Coding</a>
                </li>
                <li>
                    <a href="Personal.html">Personal</a>
                </li>
            </ul>
        </li>
        <li>
            <a href="Travels.html">Travel</a>
        </li>
        <li>
            <a href="Contact.html">Contact</a>
        </li>
    </ul>';

    ?>

感谢您的帮助!


答案 1

您可以在具有扩展名的文件中使用代码,并且只能在其中使用代码(如果服务器设置中未定义其他代码)。php.php

只需将文件重命名为*.html*.php


如果要允许在不同格式的文件中处理代码,则有两个选项可以执行此操作:php

1) 通过添加以下内容进行修改以允许服务器上的所有项目执行此操作:httpd.conf

AddHandler application/x-httpd-php .htm .html

2) 使用以下命令在单独的项目顶部目录中创建文件:.htaccess

<Files />
    AddType application/x-httpd-php .html
</Files>

对于第二个选项,您需要通过添加以下设置来允许使用 中的文件:.htaccesshttpd.conf

AllowOverride All
AccessFileName .htaccess

*这对于 Apache HTTP Server 是正确的


答案 2

您不需要回显php文件中的信息。php将自动包含该文件中的任何HTML。include

确保你实际使用的是扩展名的索引文件,不适用于php包含。(除非您告诉服务器以其他方式处理.html文件).php.html

确保您的路径设置正确。从您的描述中,您设置标头.php/导航栏/图像.php/图像.php文件的方式应该在根目录中。所以你的根目录应该看起来像这样:

index.php
navbar.php
image.php
header.php

否则,如果这些 PHP 文件位于名为 的文件夹中,则其外观应如下所示:/includes/

<?php include ('includes/headings.php'); ?>


推荐