第20章 使用网络函数和协议函数

在本章中,我们将详细介绍PHP所提供的面向网络的函数,这些函数能够使脚本与Internet进行交互。Internet是一个资源丰富的世界,我们可以通过各种协议来利用这些资源。在本章中,我们将主要介绍以下内容:

■了解可供使用的协议

■发送和读取电子邮件

■使用其他Web站点的数据

■使用网络查找函数

■使用FTP

20.1 了解可供使用的协议

协议是指在给定情况下的通信规则。例如,当遇到另一个人时,我们会采用这种协议:我们会说“你好”,与他握手,交谈一会儿,然后说再见。不同的情况需要不同的协议。此外,来自不同文化的人们会使用不同协议,这样交流就会变得困难。计算机网络协议也与此类似。

与人类协议一样,不同的计算机协议适用于不同的情况和应用程序。例如,当请求和接收一个Web页面时,我们使用超文本传输协议(Hypertext Transfer Protocol,HTTP)——你的计算机向Web服务器请求一个文档(例如,HTML或PHP文件),而服务器将通过向你的计算机发送文档作为响应。我们也可能使用过文件传输协议(File Transfer Protocol,FTP)在网络上的机器之间传输文件。除此之外,还有许多其他用途的协议。

文档征求意见文件(Requests For Comments,RFC)描述了各种协议和其他Internet标准。Internet工程任务组(Internet Engineering Task Force,IETF)定义了这些协议。在Internet上,可以找到大量关于不同标准的RFC。相关的基本资源是RFC Editor,其URL如下所示:

http://www.rfc-editor.org/

如果在使用给定的协议时出现问题,定义该协议的文档是最权威的,而且经常用于解决代码中的问题。然而,它们非常详细,其内容经常会有好几百页。

一些非常著名的RFC例子是RFC2616和RFC822,它们分别描述了HTTP/1.1协议和Internet电子邮件格式。

在本章中,我们将了解PHP中使用这些协议的函数及其应用。此外,本章还将特别介绍如何通过SMTP发送邮件,通过POP3和IMAP4读取邮件,如何使用HTTP和其他Web服务器连接,以及如何使用FTP传输文件。