《PHP和MySQL Web开发从新手到高手(第5版)》一一1.6 第一个PHP脚本

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

本节书摘来自异步社区出版社《PHP和MySQL Web开发从新手到高手(第5版)》一书中的第1章,第1.6节,作者: 【澳】Kevin Yank,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 第一个PHP脚本

PHP和MySQL Web开发从新手到高手(第5版)
如果我们在帮助你安装好了所有的软件之后就暂停下来,直到第3章才让你看到PHP脚本是什么样子的话,似乎很不公平。所以,这里先来满足下你的胃口吧。

打开你喜欢的文本或HTML编辑器,并且创建一个名为today.php的文件。在文件中输入如下内容:

chapter1/today.php
<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="utf-8">
  <title>Today&rsquo;s Date</title>
 </head>
 <body>
  <p>Today&rsquo;s date (according to this web server) is
   <?php

   echo date('l, F jS Y.');

   ?>
  </p>
 </body>
</htm这是一个字母而不是数字

这段代码中最重要的一行是:

echo date('l, F jS Y.');

遗憾的是,这是阅读本书的大多数人会敲错的一行。看到前面的那个字符了吗?那不是数字1(1),而是小写的L(l)。

在Windows中使用Notepad编辑PHP脚本

要在Notepad中将一个文件保存为.php文件,你或者选择All Files作为文件类型,或者在Save As对话框中用引号将文件名括起来。否则,Notepad肯定会毫不理睬地将文件保存为today.php.txt,这将无法工作。

在Mac OS X中使用TextEdit编辑PHP脚本

注意,当使用TextEdit编辑.php文件的时候,它会将文件存储为富文本格式(Rich Text Format),并默认地带有一个不可见的.rtf扩展文件名。要保存一个新的.php文件,必须首先记住,从TextEdit的菜单中选择Format> Make Plain Text (⇧+图标-1.jpg+T),从而将该文件转换为纯文本。

TextEdit还有一个糟糕的习惯,打开已有的.php文件的时候,它会错误地把文件当作是HTML文档,并且试图将其显示为格式化的文本。为了避免这一点,必须在Open对话框中选中Ignore rich text commands复选框。

尝试免费的IDE

从前面的警告中,你可以看出来:当前的操作系统所提供的文本编辑器,多少有些不适合PHP脚本的编写。然而,有几款不错的文本编辑器和集成开发环境(Integrated Development Environments,IDE)支持编辑PHP脚本,你可以随意地下载它们。

以下是能够在Windows、Mac OS X和Linux上工作的几种:

NetBeans http://www.netbeans.org/features/php/

Aptana http://www.aptana.com/php

Komodo Edit http://www.activestate.com/komodo_edit/
如果你不想自己录入所有的代码,可以从下载的代码文件夹中找到这个文件(以及本书中所有其他的代码)。参见前言中关于如何下载代码文件的详细介绍。

保存该文件,并且将其移动到本地Web服务器的Web根目录下。

服务器的Web根目录在哪里

如果你使用一个手动安装的Apache服务器的话,Web根目录是Apache安装目录下的htdocs目录(在Windows上是C:ProgramFilesApache Software Foundation Apache2.2 htdocs,在Linux上是/usr/local/apache2/htdocs)。

对于内建到XAMPP中的Apache服务器,Web根目录是XAMPP安装目录下的htdocs目录。你可以直接从Start菜单中选择以找到它:All Programs > Apache Friends > XAMPP > XAMPPhtdocs文件夹。

如果你使用Mac OS X中内建的Apache服务器,Web根目录是/Library/WebServer/ Document。通过在System Preferences的Sharing面板中的Web Sharing下的Open Computer Website Folder…按钮,可以很容易地找到它。

内建到MAMP中的Apache服务器,根目录位于MAMP目录中的htdocs目录下(/Applications/MAMP/htdocs)。如果你想要使用另一个目录作为Web根目录,可以在MAMP应用程序中的Preferences的Apache标签页上修改它。这一功能使得我们可以通过将MAMP指向不同的目录,从而很容易地在多个Web开发项目之间进行切换。
打开Web浏览器,并且在浏览器的地址栏输入http://localhost/today.php(或者http://localhost: port/today.php,如果Apache配置为在默认端口80以外的一个端口上运行的话),以查看刚才所创建的文件。1

TB3.tif 必须输入URL

可能你已经习惯了通过双击Web页面来预览它们,或者使用浏览器的File > Open…功能来预览。这些方法会通知浏览器直接从计算机的硬盘上加载该文件。因此,它们对PHP文件是无效的。

正如前面所提到的,PHP脚本要求你的Web浏览器读取并执行它们所包含的PHP代码,然后再将所生成的HTML代码发送给浏览器。只有通过输入URL (http://localhost/today.php),浏览器才会从Web服务器请求文件,以促成这一过程。
图1.11展示了第一个PHP脚本所生成的Web页面的样子。
image

还不错吧?如果在浏览器中使用View Source功能,你将会看到一个常规的HTML文件,其中包含有日期。Web服务器将会解释PHP代码(上面的<?php和?>之间的所有内容),并且将其转换为常规的文本,然后再发送给浏览器。PHP(以及其他服务器端脚本编程语言)之美,就在于Web浏览器可以在浑然不知的状态下,而由Web服务器来完成所有的工作。

如果你担心这段代码对自己来说意义不大,那么,等到阅读完第3章,你就会很快了解它是如何工作的了。

如果漏掉了日期,或者浏览器提示你下载PHP文件而没有显示它,那么,你的Web服务器对PHP的支持出了问题。如果可以的话,使用浏览器中的View Source来查看该页面的代码。你可能会看到页面中的PHP代码还在那儿。由于浏览器无法理解PHP,它只是将<?php… ?>当作是一个长长的、无效的HTML标签,从而会忽略它。

仔细检查以确保你已经向Web服务器而不是硬盘请求了该文件(也就是说,浏览器地址栏显示的是一个以http://localhost/ 开头的URL),并且确保你的Web服务器是支持PHP的。只要你遵从本章的安装说明,应该没有问梯。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
49 20
|
7天前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
18 0
|
2月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
2月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####
|
2月前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
120 1
|
2月前
|
关系型数据库 MySQL PHP
php实现一个简单的MySQL分页
通过本文的详细步骤和代码示例,我们实现了一个简单的PHP MySQL分页功能。主要步骤包括计算总记录数、设置分页参数、查询当前页的数据以及生成分页链接。这种分页方式适用于大多数Web应用,能够有效提升用户体验和页面响应速度。
70 4
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
66 0
|
3月前
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
36 0
|
22天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
8天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
79 42

热门文章

最新文章