🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

【PHP入门第一步】什么是服务器端语言?用PHP来制作动态网站吧!

“我的网站内容总是一成不变,好无聊…”
“如果能根据时间或星期几显示不同的消息,应该会很有趣!”

对于已经习惯用HTML和CSS制作静态页面的你来说,要想更进一步,就必须踏入“服务器端语言”的世界。而我们将从今天开始学习的PHP,正是其中的典型代表。

“服务器端是什么?”、“它和JavaScript有什么不同?”抱有这些疑问是理所当然的。一言以蔽之,PHP就像一个在网站“幕后”工作的程序员。每当用户访问页面时,PHP都会在服务器上工作,即时生成符合当下情景的“成品HTML”,然后再发送到用户的浏览器。

在本文中,我们不谈深奥的理论,而是通过复制粘贴来创建一个能够“根据星期几显示不同名言”的简单程序。让我们一起通过“动起来了!变了!”的亲身体验,感受PHP的乐趣,共同踏出服务器端编程的第一步吧!


运行PHP的准备工作(开发环境)

和HTML、CSS不同,PHP文件不是双击就能在浏览器中打开运行的。它需要一个叫做“服务器”的环境来解释和执行PHP代码。

也许你会觉得“准备服务器听起来好难……”,但请放心。现在有很多方便的免费软件,比如“XAMPP”或“MAMP”,它们能把所有需要的东西一次性全部安装好。使用这些软件,只需点击几下,就能在你的电脑里构建一个用于练习PHP的服务器(本地开发环境)。

如果你还没有安装 XAMPP,请参考【PHP入门】XAMPP下载与安装全教程。 安装完成后,将你的 PHP 文件放入指定的文件夹(如 `htdocs`),就可以开始使用了!


PHP基础:先来显示一下当前时间吧

PHP代码是写在HTML文件中的,需要用特殊的标签<?php ... ?>括起来。只有写在这个标签里的代码才会被服务器执行。

首先,我们来写一个最简单的程序——“显示当前时间”。PHP里有一个用于输出文字的命令echo,还有一个方便的用于获取当前日期的函数date()


<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>PHP测试</title>
</head>
<body>
    <p>服务器当前时间是:<?php echo date('Y-m-d H:i:s'); ?></p>
</body>
</html>
    

请将这段代码保存为`test.php`这样的文件名,放置在XAMPP等服务器环境中,然后通过浏览器访问它。每次刷新页面,秒数都会更新。这就是PHP在“动态”生成HTML的证据!


正式内容:显示每日不同的“今日名言”

成功显示时间之后,就到了今天的主题——制作“今日名言”功能。

我们想要实现的流程如下:

  1. 首先,以“数组”的形式准备好每天的消息。
  2. 使用date()函数获取今天是星期几。
  3. 用获取到的星期作为键,从数组中取出今天的消息。
  4. echo显示取出的消息。

“数组”是一个方便的盒子,可以给多个数据贴上名字或编号并进行统一管理。我们马上来看看代码吧。


<?php
// 设置时区为上海
date_default_timezone_set('Asia/Shanghai');

// 将每天的消息存入关联数组
$messages = [
    'Sun' => '“预测未来的最好方法就是去创造未来。” - 艾伦·凯',
    'Mon' => '“通往成功的路和通往失败的路,几乎是同一条。” - 科林·戴维斯',
    'Tue' => '“行动是衡量智力的唯一标准。” - 拿破仑·希尔',
    'Wed' => '“困难之中蕴藏着机遇。” - 阿尔伯特·爱因斯坦',
    'Thu' => '“只要不断学习,人就不会变老。” - 亨利·福特',
    'Fri' => '“唯有一样东西——热情,能使你的灵魂达到至高境界。” - 巴勃罗·毕加索',
    'Sat' => '“休息并非无所事事,而是为了恢复。” - 丹尼尔·W·乔斯林'
];

// 获取今天的星期英文缩写 (Sun, Mon...)
$today_weekday_en = date('D');

// 获取与今天星期相对应的消息
$today_message = $messages[$today_weekday_en];
?>
    

这就是决定显示哪条消息的PHP逻辑部分。它用date('D')获取今天的星期(如'Sun', 'Mon'等),然后从数组中取出相应的消息。


最终成品:复制粘贴即可运行的“今日名言”页面

那么,让我们把刚才写的PHP逻辑和HTML结合起来,制作一个完整的页面吧。

【重要】请将以下代码全部复制,创建一个名为quote.php的文件。然后,将该文件放置在XAMPP或MAMP的指定文件夹(如htdocs)中,并通过浏览器访问,例如http://localhost/quote.php


<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>今日名言</title>
    <style>
        body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #f0f2f5; }
        .quote-card { background-color: white; padding: 2rem 3rem; border-radius: 12px; box-shadow: 0 8px 30px rgba(0,0,0,0.12); text-align: center; max-width: 600px; min-width: 500px;}
        .quote-day { font-size: 1.5rem; font-weight: bold; color: #007bff; }
        .quote-message { font-size: 1.2rem; color: #333; margin-top: 1rem; line-height: 1.8; }
    </style>
</head>
<body>
<?php
// 设置时区为上海
date_default_timezone_set('Asia/Shanghai');

// 将每天的消息存入数组
$messages = [
    'Sun' => '“预测未来的最好方法就是去创造未来。” - 艾伦·凯',
    'Mon' => '“通往成功的路和通往失败的路,几乎是同一条。” - 科林·戴维斯',
    'Tue' => '“行动是衡量智力的唯一标准。” - 拿破仑·希尔',
    'Wed' => '“困难之中蕴藏着机遇。” - 阿尔伯特·爱因斯坦',
    'Thu' => '“只要不断学习,人就不会变老。” - 亨利·福特',
    'Fri' => '“唯有一样东西——热情,能使你的灵魂达到至高境界。” - 巴勃ロ·毕加索',
    'Sat' => '“休息并非无所事事,而是为了恢复。” - 丹尼尔·W·乔斯林'
];

// 获取今天的星期
$today_weekday_en = date('D');

// 获取今天的消息
$today_message = $messages[$today_weekday_en];
?>
    <div class="quote-card">
        <p class="quote-day">今日赠言</p>
        <p class="quote-message">"<?php echo $today_message; ?>"</p>
    </div>

</body>
</html>
    

在浏览器中显示出来了吗?当日期改变时,显示的名言也会自动改变。这就是服务器端语言PHP的力量!


注意事项与应用

时区的设置

date()函数会根据服务器的设置来返回日期和时间。如果是在中国的服务器上就没问题,但如果使用国外的服务器,时间就会有偏差。为了防止这种情况,一个好习惯是在PHP文件的开头明确指定时区,例如:date_default_timezone_set('Asia/Shanghai');

亲手定制你的信息

试着把数组$messages里的内容换成你喜欢的名言或消息吧。用CSS改变HTML部分的设计也是个好主意。将复制粘贴来的代码改造成属于你自己的原创内容,会让学习变得更加有趣。


总结

辛苦了!作为踏入PHP世界的第一步,我们学习了以下几点:

请一定记住这份亲手创造出“变化”的感动,这是仅靠静态HTML无法实现的。这虽是小小的一步,却为你打开了通往Web应用开发这个广阔世界的大门。

下次,我们将来学习PHP的基本规则——“变量”和“数据类型”!