【问题标题】:Include php file in html page在 html 页面中包含 php 文件
【发布时间】:2014-01-24 13:13:17
【问题描述】:

我正在使用 XML 和 PHP 来填充 Web 表单下拉框。

我有一个html页面

<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>

</head>

<body>
<header>
<h1>Title</h1>
</header>

    <form>
        <div id ="select xml">
            <?php include 'dropdown.php'; ?>
        </div>
    </form>
</body>

</html>

我希望包含以下 PHP 来生成带有 XML 文件名的实际框。

<?php
//echo(substr(glob("xml/*.xml")[0],4));

echo  "<p>
      <label>Select list</label><br>
      <select id = \"selectxml\">
      <option value'0'>--Please Select--</option>";

        $count = count(glob("xml/*.xml"));
        $files = glob("xml/*.xml");
        for ($i = 0; $i < $count; $i++) {
            //echo(substr($files[$i],4));
            //echo "<br>";
        $filename = (substr($files[$i],4));
        echo "<option value=$i+1>$filename</option>";   
        }     

echo  "</select><br>
      <br>
      </p>";
?>

我知道 PHP 并不完美,但它可以工作。

问题是当我运行页面时包含 HTML 不起作用 - 有什么想法吗?

【问题讨论】:

  • 默认情况下,您的服务器不会处理扩展名为 .html 的文件中的 php 代码。

标签: php html xml


【解决方案1】:

把扩展名改成.php就可以了。

当页面有 .html 扩展名时,Web 服务器不会将其识别为 PHP 文件,因此您无法使用 PHP 代码。和任何 PHP 代码,都将作为纯文本处理。

我的意思是当你放 :

<?php echo "hello" ?>

HMTL 页面中,浏览器会显示:

<?php echo "hello" ?>

但是,如果页面有 .php 扩展名,浏览器会显示:

hello

【讨论】:

    【解决方案2】:

    将您的 html 页面从 .html 重命名为 .php

    【讨论】:

      【解决方案3】:

      这是不可能的,但是使用jQuery.load 函数你可以做到这一点:

      $("#select-xml").load("dropdown.php");
      

      【讨论】:

      • 因为脚本是在由网络服务器处理页面之后执行的。它只有在 dropdown.php 包含 html 时才有效,而不是 php
      • dropdown.php 结果是像echo "&lt;option value=$i+1&gt;$filename&lt;/option&gt;"; 这样的html元素,我做到了:)
      • 如果文件是 .htmlecho 对 Web 服务器表示 nothing
      猜你喜欢
      • 1970-01-01
      • 2014-05-11
      • 2015-10-30
      • 2020-08-26
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多