我需要在每一页的末尾添加内容


I need to add content at the end of each page

我有一个客户,他的网站有108个不同的php静态页面,我们需要在每个页面的末尾添加一些内容。我希望避免手动执行此操作。有没有什么方法可以通过使用.htaccess或php以编程方式在每个页面的末尾添加链接?

它是一个有限的托管帐户,没有ssl

您可以使用auto_append_file

webbiedave的答案看起来很简单,但当您将内容附加到…时会发生什么

<html>
...
</html>

是否渲染文本以及如何渲染在很大程度上取决于浏览器。此外,根据提供的链接"如果使用exit()终止脚本,则不会发生自动追加"-虽然PHP在exit处很好地清理了资源,但在代码应该终止时显式调用exit仍然是一种很好的做法。

虽然它仍然不是一个通用的解决方案,但我会使用包含以下内容的自动预处理脚本:

<?php 
register_shutdown_function('add_footer');
function add_footer()
{
  // try loading a javascript to render the required text
  print '<script type="text/javascript" src="/somepath/addfooter.js"></script>' . "'n";
  // and for browsers with js disabled but which will render the text include it inline
  print '<noscript>' . $include_as_static_text_here . '</noscript>';
}

(IME——大多数浏览器通常都可以接受在关闭html标记后附加的脚本标记,即使生成的html格式不好——在少数情况下,最糟糕的情况是脚本被忽略)。

然后在addfooter.js中,将内容添加到文档正文的末尾。

显然,在某些情况下,这会导致内容被发送两次——解决方案应该是显而易见的——但出于时间和清晰的原因,我省略了它们。