0

我知道这对你们大师来说可能看起来很简单,但我一直在寻找一个多小时无济于事......

目标:为我的所有网页使用单个页脚文件和菜单文件。考虑到阻塞、速度等。我的菜单内容是纯html/css,我的页脚内容是纯html/css。最佳解决方案会根据注入的内容而改变吗?例如,如果涉及视频、jscript 等。

两部分问题:1)哪种方法是最佳的?某种 php 包括、使用标签、使用 jscript 等。 2) 这在保持 HTML 5 标准的情况下有多精确?即为了使 php 方法起作用,我的调用网页是否需要是 .php,然后这是否使 HTML5 标准成为一个有争议的问题?例如,如果我想将footer.php 注入index.html,我的索引文件是否也必须是.php?同样对于标签,外部文件可以是 .html 文件(我不喜欢使用 .css 调用重新加载所有标头信息的想法)还是应该是 .php?

在 index.html 文件中,我尝试了以下内容:

<object id="footerArea" width="100%" height="20%" 
  type="text/html" data="footer.html">
</object>

<?php include 'footer.php' ?>

这些似乎都不适合我。

如果您想知道...这是我尝试注入示例数据的页脚代码,以使其更短且更易于阅读:

<div class="footer box">
<p class="f-right t-right">
 <a href="#">www.mysite.com</a><br />
  Address: Medford, OR<br />
  Phone: (541) 555-5555
</p>

<p class="f-left">
 Copyright &copy;&nbsp;2011 <a href="#">My Name</a><br />
</p>

<p class="f-left" style="margin-left:20px;">
 <a href="http://sampleurl.com" target="_blank">
  <img style="border:0;width:88px;height:31px"
   src="http://sampleurl.com"
   alt="Valid CSS3!" />
 </a>
</p>

<p class="f-left" style="margin-left:20px;">
 <a href="http://sampleurl" target="_blank">
 <img src="http://sample.png" width="228" height="50" alt="sample alt" title="sample title">
 </a>
</p>
</div>

请原谅我的格式。我仍然是在论坛上发布代码的新手。我已经尽力了 :)

4

4 回答 4

3

您在 url 中看到的文件名的扩展名与下载该文件时浏览器将如何处理该文件完全无关。这一切都归结为Content-type文件随附的标题。网站管理员可以简单地配置他们的服务器以将所有.exe文件视为纯 HTML 页面。他们还可以告诉网络服务器.html通过 PHP 解析器运行页面。事实上,使用“现代” SEO 优化的 url,您几乎不会看到文件扩展名。这一切都会像example.com/some/wonky/path,不是example.com/page.php?id=wonky

PHP 已经构建和输出页面的事实也与 HTML 合规性无关。归结为浏览器接收到的页面是否符合标准。所有标签都正确关闭了吗?属性定义正确?标签正确嵌套?等等等等等等。

如果您已正确构建代码,则输出的 html 将具有正确的结构并且是有效的 html。如果它不是有效的 html,那不是 PHP 的错——那是你把不能产生正确输出的代码放在一起的错。

唯一可能与URL中的文件扩展名相关的情况是网络服务器输出通用内容类型,例如“application/octet-stream”。浏览器可以使用可检测的文件扩展名来猜测内容的类型并尝试对其进行处理。但这不能保证也不可靠。

于 2012-11-03T03:47:39.337 回答
1

这就是PHP 包含的样子:

<?php include 'footer.php'?>

据我所知,您在问题中的代码是将字符串“footer.php”分配给变量include但是,您是否考虑过使用Smarty 之类的东西,而不是滚动您自己的模板系统?

于 2012-11-03T10:56:18.853 回答
1

如果调用的代码像一个固定的页脚,你可能想要创建你想要的简单页脚,然后包括:

<?php
readfile("yourfile.htm");
?>
于 2013-12-13T02:31:44.277 回答
0

像下面这样的东西应该做你想做的事:

索引.php

<html>
  <head>
    <link rel="stylesheet" type="text/css" href="main.css" />
    <!-- other css, scripts etc -->
  </head>
  <body>
    <!-- your main content here -->
    <?php include 'footer.html' ?>
  </body>
</html>

页脚.html

<div class="footer box">
  <!-- your footer content here -->
</div>

当您在浏览器中加载 index.php 并“查看源代码”时,您应该会看到上面显示的内容,但<?php include "footer.html" ?>应该将其替换为文件“footer.html”中的内容。

当您通过网络浏览器查看源代码时,您不应该看到 php 代码本身。如果您确实在“查看源代码”中看到 php 代码,这表明您的服务器未配置为正确运行 php。


对于从浏览器加载内容并且不使用 php 的替代方法,我将向您指出这个相关的问题和答案

于 2012-11-03T15:07:06.097 回答