【问题标题】:how to embed html files in php code?如何在 php 代码中嵌入 html 文件?
【发布时间】:2012-08-30 22:07:00
【问题描述】:

我有很多 html 文件,现在我想使用一些 php 代码一个一个地调用每个文件。但是每当我尝试运行 php 代码以从文件夹中调用这些 html 文件时,它都不起作用。

    1.html view
    2.html view
    3.html view

所以,1,2 和 3 是 html 文件,现在通过单击查看用户应该被定向到链接。如何解决在 php 中合并 html 文件的问题,以便文件将通过视图选项一一显示给用户。每当用户单击查看时,用户都会查看 html 页面。

注意:我在 windows7 中使用 xampp 服务器

任何建议将不胜感激......

【问题讨论】:

  • 您的意思是要显示特定目录中的 html 文件吗?或者只是包含()他们?
  • @jitheman 我想在 php 中嵌入 html 文件
  • 你想在 php 中包含 html 文件。
  • 如果答案回答了您的问题,请标记它,如果没有,请告诉我们原因。

标签: php html


【解决方案1】:

为每个 html 文件使用include PHP function

示例:

<?php
// do php stuff

include('fileOne.html');
include('fileTwo.html');

?>

【讨论】:

  • 如果 html 文件代表真正的静态内容,您应该使用readfile()。如果 html 文件碰巧包含 PHP 指令(如 &lt;?),include 将尝试将它们解释为 PHP 代码。 readfile 只会将内容返回给浏览器。
【解决方案2】:

对已接受答案的小幅改进:对于非 PHP 文件,您应该更喜欢 readfile() 而不是 include()require()。这是因为include()require() 将作为PHP 代码处理,因此如果它们包含看起来像PHP 的内容(如&lt;?),它们可能会产生错误。或者更糟糕的是,一个安全漏洞。 (当然,如果您还显示用户提供的 HTML,则仍然存在潜在的安全漏洞,但它们至少无法在您的服务器上运行代码。)

如果 .html 文件实际上包含 PHP 代码,您应该适当地命名它们。

<?php
// do php stuff

readfile('fileOne.html');
readfile('fileTwo.html');

?>

【讨论】:

  • 我还需要分别在 readfile 调用之前和之后调用 ob_start()ob_end_flush() 以避免损坏输出。
【解决方案3】:

使用opendir 并遍历文件。

例子:

<?php

    $dir = "/tmp";
    $dh = opendir($dir);
    while(false !== ($filename = readdir($dh)))
    {
        echo $filename . ' <a href="' . $dir . '/' . $filename . '">view</a>';
    }
?>

【讨论】:

    【解决方案4】:

    看这里Loop code for each file in a directory

    要知道如何循环文件夹中的文件,然后只需回显带有链接的 A 标记

    【讨论】:

    • 谢谢 .... 但问题是当我尝试在 php 中运行 html 文件时,它不起作用。因此,我尝试通过键入链接 localhost/3.html 使用 Web 浏览器单独打开 html 文件,但它也可以解决
    • 你甚至无法通过简单的浏览打开文件?这是你说的吗?
    • 当我尝试使用 localhost 打开它时,因为我使用的是 xampp 服务器。它不起作用
    • 那么它与您的php代码或其他什么无关?在询问如何使您的页面执行您想要的操作之前,您应该设置您的服务器以正确地为您的页面提供服务...
    猜你喜欢
    • 2014-12-16
    • 2020-04-17
    • 1970-01-01
    • 2020-09-27
    • 2011-08-08
    • 1970-01-01
    • 2018-10-02
    • 2020-05-21
    • 2014-05-02
    相关资源
    最近更新 更多