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’s Date</title>
</head>
<body>
<p>Today’s date (according to this web server) is
<?php
echo date('l, F jS Y.');
?>
</p>
</body>
</html>
这段代码中最重要的一行是:
echo date('l, F jS Y.');
遗憾的是,这是阅读本书的大多数人会敲错的一行。看到前面的那个字符了吗?那不是数字1(1),而是小写的L(l)。
要在Notepad中将一个文件保存为.php文件,你或者选择All Files作为文件类型,或者在Save As对话框中用引号将文件名括起来。否则,Notepad肯定会毫不理睬地将文件保存为today.php.txt,这将无法工作。
注意,当使用TextEdit编辑.php文件的时候,它会将文件存储为富文本格式(Rich Text Format),并默认地带有一个不可见的.rtf扩展文件名。要保存一个新的.php文件,必须首先记住,从TextEdit的菜单中选择Format> Make Plain Text (⇧+图标-1.jpg+T),从而将该文件转换为纯文本。
TextEdit还有一个糟糕的习惯,打开已有的.php文件的时候,它会错误地把文件当作是HTML文档,并且试图将其显示为格式化的文本。为了避免这一点,必须在Open对话框中选中Ignore rich text commands复选框。
从前面的警告中,你可以看出来:当前的操作系统所提供的文本编辑器,多少有些不适合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根目录下。
如果你使用一个手动安装的Apache服务器的话,Web根目录是Apache安装目录下的htdocs目录(在Windows上是C:\ProgramFiles\Apache 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
可能你已经习惯了通过双击Web页面来预览它们,或者使用浏览器的File > Open…功能来预览。这些方法会通知浏览器直接从计算机的硬盘上加载该文件。因此,它们对PHP文件是无效的。
正如前面所提到的,PHP脚本要求你的Web浏览器读取并执行它们所包含的PHP代码,然后再将所生成的HTML代码发送给浏览器。只有通过输入URL (http://localhost/today.php),浏览器才会从Web服务器请求文件,以促成这一过程。
图1.11展示了第一个PHP脚本所生成的Web页面的样子。
还不错吧?如果在浏览器中使用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的。只要你遵从本章的安装说明,应该没有问题。
1如果你在Windows上安装Apache,你可能会选择在8080端口上运行它。如果你使用MAMP,它默认地配置为在8888端口上运行Apache。