本文中,我将向您展示如何在 HTML 页面中使用 PHP 代码。它针对的是试图加强对世界上最流行的服务器端脚本语言的掌握的 PHP 初学者。
再次强调,PHP 是一种服务器端脚本语言。这意味着 PHP 脚本在服务器上执行,输出在服务器上构建,结果以 HTML 形式发送到客户端浏览器进行渲染。在脚本中混合 PHP 和 HTML 是很自然的事情,但作为初学者,了解如何将 PHP 代码与 HTML 代码结合起来是很棘手的。
今天,我们将讨论当您想在 HTML 中使用 PHP 时可以选择的几种不同方法。我假设您已经安装了可正常运行的 PHP,以便可以运行本文中提供的示例。
文章内容目录:
结合 PHP 和 HTML 的不同方法
如何在 HTML 页面中使用 PHP 循环
包含来自不同文件的代码
一、结合 PHP 和 HTML 的不同方法
一般来说,在 HTML 中使用 PHP 时,有两种不同的方法。第一种是将 PHP 代码嵌入到 HTML 文件本身中(扩展名为 .html )——这需要特殊考虑,我们稍后会讨论。另一种选择(首选方法)是在.php文件中组合 PHP 和 HTML 标签 。
由于PHP是一种服务器端脚本语言,代码在服务器端解释和运行。例如,如果您在 index.html 文件中添加以下代码,它不会立即运行。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>将 PHP 嵌入 .html 文件</title> 5 </head> 6 <body> 7 <h1><?php echo "Hello World" ?></h1> 8 </body> 9 </html>
首先,如果您以前没有见过这种混合 PHP 和 HTML 代码,请不要担心,因为我们将在本文中详细讨论它。上面的示例在浏览器中输出以下内容:
<?php echo "Hello World" ?>
正如您所看到的,默认情况下, .html 文档中的 PHP 标签不会被检测到,它们只是被视为纯文本,无需解析即可输出。这是因为服务器通常配置为仅针对扩展名为 .php的文件运行 PHP 。
如果您想将 HTML 文件作为 PHP 运行,您可以告诉服务器将.html文件作为 PHP 文件运行 ,但最好将混合的 PHP 和 HTML 代码放入具有 .php 扩展名的文件中 。
这就是我将在本教程中向您展示的内容。
二、如何在 HTML 页面中添加 PHP 标签
当涉及到将 PHP 代码与 HTML 内容集成时,您需要使用 PHP 开始标记 <?php
和 PHP 结束标记 将 PHP 代码括起来?>
。包裹在这两个标签之间的代码被认为是 PHP 代码,因此在将请求的文件发送到客户端浏览器之前,它将在服务器端执行。
让我们看一个非常简单的示例,它使用 PHP 代码显示一条消息。在文档根目录下创建 包含以下内容的index.php文件。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何将 PHP 放入 HTML - 简单示例</title> 5 </head> 6 <body> 7 <h1> <?php echo "This message is from server side." ?> </h1> 8 </body> 9 </html>
上面示例中重要的是 PHP 代码是由 PHP 标签包装的。
上面示例的输出如下所示:
而且,如果您查看页面源代码,它应该如下所示:
正如您所看到的,PHP 代码在服务器端进行解析和执行,并在页面发送到客户端浏览器之前与 HTML 合并。
让我们看另一个例子:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何将 PHP 放入 HTML - 日期示例</title> 5 </head> 6 <body> 7 <div>这是纯 HTML 消息。</div> 8 <div>接下来,我们将通过 PHP 显示今天的日期和星期!</div> 9 <div> 10 Today’s date is <b><?php echo date('Y/m/d') ?></b> and it’s a <b><?php echo date(‘l’) ?></b> today! 11 </div> 12 <div>这是静态 HTML 内容。</div> 13 </body> 14 </html>
这将输出当前日期和时间,因此您可以在 HTML 标记之间使用 PHP 代码从服务器生成动态输出。<?php
重要的是要记住,每当页面在服务器端执行时,和 标记之间的所有代码都 ?>
将被解释为 PHP,并且输出将嵌入 HTML 标记。
事实上,还有另一种方法可以编写上面的示例,如以下代码片段所示。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何将 PHP 放入 HTML - 日期示例</title> 5 </head> 6 <body> 7 <div>这是纯 HTML 消息。</div> 8 <div>接下来,我们将通过 PHP 显示今天的日期和星期!</div> 9 <div> 10 <?php 11 echo 'Today’s date is <b>' . date('Y/m/d') . '</b> and it’s a <b>'.date('l').'</b> today!'; 12 ?> 13 </div> 14 <div>这是静态 HTML 内容。</div> 15 </body> 16 </html>
在上面的示例中,我们使用了 PHP 的串联功能,该功能允许您将不同的字符串连接成一个字符串。最后,我们使用该 echo
构造来显示连接的字符串。
无论您使用哪种方法,输出都是相同的,如以下屏幕截图所示。
这给我们带来了另一个问题:哪一个是最好的方法?您应该使用串联功能还是在 HTML 标记之间插入单独的 PHP 标记?
我想说这确实取决于 - 没有严格的规则强迫您使用其中一种方法。就我个人而言,我觉得占位符方法相对于串联方法更具可读性。
结合 HTML 和 PHP 代码的 PHP 页面的整体结构应该如下所示:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>...</title> 5 </head> 6 <body> 7 HTML... 8 <?php PHP code ... ?> 9 HTML... 10 <?php PHP code ... ?> 11 HTML... 12 </body> 13 </html>
在下一节中,我们将了解如何将 PHP 循环与 HTML 结合使用。
三、如何在 HTML 页面中使用 PHP 循环
迭代数组以生成 HTML 内容是编写 PHP 脚本时最常见的任务之一。在本节中,我们将了解如何迭代项目数组并生成输出。
在大多数情况下,您需要显示从数据库或其他一些源填充的数组内容。在此示例中,为了简单起见,我们将在脚本本身的开头使用不同的值初始化数组。
继续创建一个包含以下内容的 PHP 文件。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何将 PHP 放入 HTML - foreach 示例</title> 5 </head> 6 <body> 7 <?php 8 $employees = array(‘John’, ‘Michelle’, ‘Mari’, ‘Luke’, ‘Nellie’); 9 ?> 10 <h1>员工名单</h1> 11 <ul> 12 <?php foreach ($employees as $employee) { ?> 13 <li><?php echo $employee ?></li> 14 <?php } ?> 15 </ul> 16 </body> 17 </html>
首先,我们在脚本的开头初始化了数组。接下来,我们使用该 foreach
构造来迭代数组值。最后,我们使用该 echo
构造来显示数组元素值。
输出应该如下所示:
具有循环的相同示例 while
如下所示:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何将 PHP 放入 HTML - foreach 示例</title> 5 </head> 6 <body> 7 <?php 8 $employees = array(‘John’, ‘Michelle’, ‘Mari’, ‘Luke’, ‘Nellie’); 9 $total = count($employees); 10 ?> 11 <h1>员工名单</h1> 12 <ul> 13 <?php 14 $i = 0; 15 ?> 16 <?php while ($i < $total) { ?> 17 <li><?php echo $employees[$i] ?></li> 18 <?php ++$i ?> 19 <?php } ?> 20 </ul> 21 </body> 22 </html>
并且输出将是相同的。这就是如何使用 foreach
and while
循环基于 PHP 数组生成 HTML 内容。
在下一节中,我们将了解如何使用 PHP 短标记语法。
四、如何使用 PHP 短标签
在我们到目前为止讨论的示例中,我们 <?php
到处都使用了作为起始标记。事实上,PHP 附带了一个变体, <?=
当您想要显示字符串或变量值时,您可以将其用作简写语法。
让我们使用之前讨论过的简写语法来修改该示例。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何将 PHP 放入 HTML - 简单示例</title> 5 </head> 6 <body> 7 <h1><?= "此消息来自服务器端." ?></h1> 8 </body> 9 </html>
正如您所看到的,我们可以在使用简写语法显示值时省略 echo
or 构造。 当您想用或 print
显示某些内容时,速记语法简短且可读 。echo
print
因此,您可以使用这些不同的方法在 HTML 内容中添加 PHP。作为初学者,您可以通过尝试不同的方法来学,而且也很有趣!
五、包含来自不同文件的代码
在很多情况下,您需要在网站的多个页面上使用相同的代码。网站的页眉和页脚部分就是这样的一个例子。这些部分通常在整个网站中包含相同的 HTML。
可以将其想象为将网站的常见 CSS 规则移至样式表中,而不是将它们放置在 style
各个页面的标签内。
PHP 中有四个函数可帮助您在 PHP 文件中包含其他文件。这些是 include()
、 include_once()
、 require()
和 require_once()
。
该include()
函数将包含并评估指定的文件,如果找不到该文件,则会向您发出警告。该 require()
函数执行相同的操作,但如果找不到文件,它会给出错误而不是警告。
在处理大型项目时,您可能会无意中多次包含同一个文件。这可能会导致函数重新定义等问题。避免这些问题的一种方法是使用 PHP 中的include_once()
和 函数。require_once()
让我们使用上一节中的代码来向您展示如何使用这些函数。我将 include()
在这个例子中使用。创建一个名为header.php的文件 并将以下代码放入其中。
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>How to put PHP in HTML</title> 5 </head> 6 <body> 7 <div>This is pure HTML message.</div> 8 <div>Next, we’ll display today’s date and day using PHP!</div>
创建另一个名为 date.php的文件 并将以下代码放入其中。
1 <?php 2 include('header.php'); 3 ?> 4 <div> 5 <?php 6 echo 'Today’s date is <b>' . date('Y/m/d') . '</b>!'; 7 ?> 8 </div> 9 </body> 10 </html>
再创建一个名为 day.php的文件 ,并将以下代码放入其中。
1 <?php 2 include('header.php'); 3 ?> 4 <div> 5 <?php 6 echo 'Today is <b>'.date('l').'</b>!'; 7 ?> 8 </div> 9 </body> 10 </html>
请注意,我们在day.php 和 date.php 的顶部都 包含了header.php的路径 。确保这三个文件位于同一目录中。在浏览器中打开 date.php 现在应该会显示以下输出。
打开 day.php 应该会显示以下输出。
正如您所看到的,我们放入header.php中的代码 已包含在我们的两个文件中。当您处理大量文件时,这使得 Web 开发变得更加容易。只需在一处进行更改,它们就会体现在各处。
结论
今天,我们讨论了如何混合 PHP 和 HTML 来创建动态 HTML。我们讨论了不同的方法,并通过一些示例来了解其工作原理。
发表评论