PHP编程基础与实例教程(工业和信息化普通高等教育“十二五”规划教材立项项目)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-11-12 16:26:54

点击下载

作者:孔祥盛(主编)

出版社:高等教育出版分社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

PHP编程基础与实例教程(工业和信息化普通高等教育“十二五”规划教材立项项目)

PHP编程基础与实例教程(工业和信息化普通高等教育“十二五”规划教材立项项目)试读:

前言

PHP是全球最普及、应用最广泛的WEB应用程序开发语言之一,因为其易学易用,越来越受到广大程序员的青睐和认同。目前市场上讲述PHP的教程还比较少,为了满足众多PHP爱好者的使用需求,编者根据多年从事软件开发的经验编写了本书,奉献给广大读者。

本书在内容的编排以及章节的组织上十分考究,争取让读者在短时间内掌握PHP 开发动态网站的常用技术和方法,从而能够快速入门。本书以“坚持理论知识够用、专业知识实用、专业技能会用”为原则,在讲解具体案例的同时,融合了软件工程、软件测试、界面设计等知识,真正做到了PHP与项目实训的合二为一。

本书具有如下特色。

1.门槛较低

读者无需太多技术基础,就能在不知不觉中非常轻松地掌握数据库设计、软件工程以及动态网站开发相关技术。

2.内容丰富、严谨

作者对PHP内容的选取非常严谨,一环扣一环,从一个知识点过渡到另一个知识点非常顺畅和自然,而且本书内容丰富,遵循知识的学习曲线,结合具体案例编排章节的内容,并尽量做到不留死角。

3.强调实训环节与PHP知识的结合

以讲解PHP基础知识为目标,以案例的实现为载体,以不同的章节完成不同的任务为理念,采用软件工程的思想实现具体案例。

4.涉及面广

软件工程、软件建模、数据库及数据库设计、界面设计、软件测试等知识在本书中均有触及。

5.丰富而实用的课后习题

精选sina、百度等知名公司面试题。

本书由孔祥盛任主编,茹蓓、张同光和付强任副主编,参加编写的人员还有李林涛、潘红、石庆民和黄宪通。其中茹蓓编写第 3 章和第 4 章,张同光编写第 5章,付强编写第1章和第2章,李林涛编写6.1至6.3.3节,石庆民编写6.3.4至6.6.2节,潘红编写第7章,孔祥盛编写其余章节并负责全书统稿。

由于编者水平有限,书中难免存在不妥之处,敬请广大读者批评指正。编者2011年5月

第1章 PHP入门

本章首先介绍PHP概况,然后介绍PHP程序的工作流程,并以WampServer为例介绍PHP服务器安装和配置。通过本章的学习,读者可以了解PHP程序的工作流程,并可以编写、运行简单的PHP程序。

1.1 PHP概况

PHP是PHP:Hypertext Preprocessor单词组合的首字母缩写,是一种被广泛应用的、免费开源的、服务器端的、跨平台的、HTML 内嵌式的多用途脚本语言,PHP 通常嵌入到 HTML 中,尤其适合 WEB 开发。PHP 与微软公司的 ASP(或.NET)以及 SUN 公司的 JSP 颇有几分相似,是一种在服务器端执行的HTML内嵌式的脚本语言。

1.1.1 PHP的优势

PHP发展到今天,具备了很多优势,简单介绍如下。(1)易学好用:学习PHP的过程非常简单。PHP的主要目标是让WEB开发人员只需很少的编程知识就可以快速地建立一个真正动态交互的WEB系统。PHP语言的风格类似于C语言,非常容易学习,只要了解一点儿PHP的基本语法和语言特色,就可以开始PHP编程之旅。(2)免费开源:基于PHP的WEB系统源代码是免费开源的。(3)良好的可扩展性:PHP的免费开源导致可扩展性大大增强,任何程序员为PHP扩展附加功能都非常容易。(4)平台无关性(跨平台):同一个 PHP 应用程序,无需修改任何源代码,就可以运行在Windows、Linux、UNIX等绝大多数操作系统环境中。(5)功能全面:PHP几乎涵盖了WEB系统所需的一切功能,例如使用PHP可以进行图形处理、编码与解码、压缩文件处理、XML解析、支持HTTP的身份认证、Session和Cookie等操作。(6)数据库支持:PHP最强大最显著的优势是支持Oracle、MS-Access、MySQL、Microsoft SQL Server在内的大部分数据库,并且使用PHP 编写数据库支持的动态网页非常简单。(7)面向对象编程:PHP较新版本提供了面向对象的编程方式,不仅提高了代码的重用率,而且为代码维护带来很大的方便。

1.1.2 PHP的应用领域

PHP 主要用于以下3个应用领域。(1)服务器端脚本程序:可以使用PHP编写服务器端的脚本程序,完成任何其他的脚本语言(例如ASP、JSP或.NET)完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookie等工作。(2)命令行脚本程序:可以使用PHP编写一段命令行脚本程序。运行命令行脚本程序时,只需借助 PHP预处理器,无需借助任何WEB服务器和WEB浏览器。(3)桌面应用程序:可以使用PHP编写图形界面的桌面应用程序。当然对于桌面应用程序而言,PHP并不是最好的选择。

使用PHP编写服务器端脚本程序是PHP 最常用的应用领域,这也是本书着重阐述的内容。

1.1.3 HTML内嵌式的脚本语言

PHP脚本程序中可包含文本、HTML代码以及PHP代码。例如程序helloworld.php如下。

这是我的第一个PHP程序:


echo "hello world!";

?>


echo date("Y年m月d日H时i分s秒");

?>

程序helloworld.php中,各部分说明如下。“这是我的第一个PHP程序:”是一段文本信息。PHP程序中的文本信息将不被PHP预处理器处理,直接被WEB服务器输出到WEB浏览器。“
”是HTML代码。PHP程序中的HTML代码同样不被PHP预处理器处理,直接被WEB服务器输出到WEB浏览器,只不过WEB浏览器接收到HTML代码后,会对该HTML代码解释执行,例如WEB浏览器接收到“
”后,将在WEB浏览器产生一次换行。“echo "hello world!";”和“echo date("Y年m月d日H时i分s秒");”是两条PHP代码,所有的PHP代码都要经PHP预处理器解释执行。PHP预处理器解释这两条PHP代码时,会将这两条代码解释为文本信息“hello world!”和WEB 服务器主机的当前时间(例如“2010 年3 月9 日13 时41分31秒”),然后再将这些文本信息输出到WEB浏览器,最后WEB浏览器显示这些文本信息。

date()是一个日期时间函数,该函数需要一个字符串参数,例如"Y年m月d日H时i分s秒"。Y是year的第一个字母,m是month的第一个字母,d是day的第一个字母,H是hour的第一个字母,i是minute的第二个字母,s是second的第一个字母,分别代表WEB服务器当前的年、月、日、时、分、秒。PHP代码通常以符号“”结束,这两个符号分别叫做PHP开始标记和结束标记。

PHP程序文件名中的扩展名通常使用“.php”,例如helloworld.php。

1.2 PHP脚本程序工作流程

运行PHP脚本程序,必须借助PHP预处理器、WEB服务器和WEB浏览器,必要时还需借助数据库服务器。其中WEB服务器的功能是解析HTTP,PHP预处理器的功能是解释PHP代码, WEB浏览器的功能是显示PHP程序的执行结果,数据库服务器的功能是保存执行结果。

1.2.1 WEB浏览器

WEB浏览器(WEB Browser)也叫网页浏览器,简称浏览器。浏览器是用户最为常用的客户端程序,主要功能是显示HTML网页内容,并让用户与这些网页内容产生互动。常见的浏览器有微软的Internet Explorer(简称IE)浏览器、Mozilla的Firefox浏览器等。

1.2.2 HTML简介

HTML是网页的静态内容,这些静态内容由HTML标记产生,WEB浏览器识别这些HTML标记并解释执行。例如WEB浏览器识别HTML标记“
”,将“
”标记解析为一个换行。在PHP程序开发过程中,HTML主要负责页面的互动、布局和美观。

1.2.3 PHP预处理器

PHP预处理器(PHP Preprocessor)的功能是将PHP程序中PHP代码解释为文本信息,这些文本信息中可以包含HTML代码。

1.2.4 WEB服务器

WEB服务器(WEB Server)也称为WWW(World Wide WEB)服务器,功能是解析HTTP。当WEB服务器接收到浏览器的一个HTTP动态请求时,WEB服务器会调用与请求对应的程序,程序经 PHP 预处理器解释执行后,WEB 服务器向浏览器返回 HTTP 响应,该响应通常是一个HTML页面。浏览器接收到该HTTP响应后,将执行结果显示在浏览器或进行其他处理。

常见的 WEB 服务器有微软的 Internet Information Server(IIS)服务器、IBM 的 WebSphere服务器、开源的Apache服务器等。由于Apache具有免费、速度快且性能稳定等特点,它已成为目前最为流行的WEB服务器。本书将使用Apache服务器部署PHP程序。大部分 WEB 服务器仅仅提供一个可以执行服务器端程序和返回响应的环境,单纯的WEB服务器只能响应静态页面(例如不包含任何PHP代码的HTML页面)的请求。也就是说,如果WEB浏览器请求的是静态页面,此时只需要WEB服务器响应该请求;如果浏览器请求的是动态页面(例如页面中包含了PHP代码),此时WEB服务器会委托PHP预处理器将该动态页面解释为HTML静态页面,然后再将解释后的静态页面返回给浏览器进行显示。

1.2.5 数据库服务器

数据库服务器(DataBase Server)是一套为应用程序提供数据管理服务的软件,这些服务包括数据管理服务(例如数据的添加、删除、修改、查询)、事务管理服务、索引服务、高速缓存服务、查询优化服务、安全及多用户存取控制服务等。

常见的数据库服务器有甲骨文的 Oracle、微软的 SQL Server、IBM 的 DB2、SAP 的 Sybase以及SUN公司的MySQL数据库服务器。由于MySQL具有体积小、速度快、免费等特点,许多中小型WEB系统选择MySQL作为数据库服务器。本书将选用MySQL讲解有关PHP应用程序中数据库开发方面的知识。

1.2.6 PHP程序的工作流程

PHP程序的工作流程如图1-1所示,具体步骤如下。图1-1 PHP程序的工作流程(1)用户在浏览器地址栏中输入要访问的页面地址(形如http://localhost/1/helloworld.php),回车后就会触发该页面请求,并将请求传送给WEB服务器(步骤a)。(2)WEB服务器接收到该请求后,根据请求页面文件名在WEB服务器主机中查找对应的页面文件(步骤b),并根据请求页面文件名的后缀(例如.html或.php)判断当前请求为静态页面请求还是动态页面请求。

当请求页面为静态页面时(例如请求页面文件名后缀为.html或.htm),直接将WEB服务器中的静态页面返回(步骤c),并将该页面作为响应发送给浏览器(步骤d)。图1-2 WampServer下载页面

当请求页面为动态页面时(例如请求页面文件名后缀为.php),此时WEB服务器委托PHP预处理器将该动态页面中的PHP代码解释为文本信息(步骤c1);如果动态页面中存在数据库操作代码,PHP预处理器和数据库服务器完成信息交互(步骤c2)后,再将动态页面解释为静态页面(步骤c3);最后WEB服务器将该静态页面作为响应发送给浏览器(步骤d)。

1.3 PHP服务器构建

为了构建PHP服务器,在服务器的选择上,我们选择免费开源的WEB服务器Apache和数据库服务器MySQL。对于初学者而言,Apache、MySQL以及PHP预处理器的安装和配置较为复杂,这里选择 WAMP(Windows + Apache + MySQL + PHP)集成安装环境快速安装配置 PHP 服务器,省去安装配置服务器带来的麻烦,更快地进入PHP编程的殿堂。

目前两款常用的WAMP集成安装环境是WampServer和AppServ,它们都集成了Apache服务器、MySQL服务器和PHP预处理器。本书以WampServer为例介绍PHP服务器的安装和配置。从安全性和性能上来讲,LAMP(Linux + Apache + MySQL + PHP)优于WAMP (Windows + Apache + MySQL + PHP),不过由于Windows操作系统更易使用,因此开发PHP应用程序时一般选择Windows操作系统作为开发环境;由于PHP具有平台无关性(跨平台),PHP应用程序发布、布署时,通常使用Linux操作系统。

1.3.1 服务器安装前准备

WampServer软件由德国人开发,该软件在Windows操作系统平台下集成了Apache、MySQL和PHP,其中还自带phpMyAdmin软件,极大方便了PHP服务器的安装配置和使用。WampServer下载的官方网址是:http://www.wampserver.com/en/download.php,目前WampServer的较新版本是WampServer2.0i。打开该网站地址后,会看到如下警告信息。

WARNING : do not try to install WampServer 2 over WAMP5. If WAMP5 is installed on your computer, save your data, uninstall it and delete the WAMP5 directory before installing WampServer 2. (警告:不要试图在 WAMP5 上安装 WampServer 2。如果 WAMP5 已经安装在计算机上,请保存程序和数据,然后卸载WAMP5。)

还会看到“DOWNLOAD WampServer 2.0i”超链接(如图1-2所示)。图中WampServer 2.0i安装程序使用的 WEB 服务器为 Apache2.2.11(后面的数字为软件版本号),PHP 预处理器为PHP5.3.0,数据库服务器为MySQL5.1.36。Apache服务器在启动时,默认会占用80端口号;MySQL服务器在启动时,默认会占用3306端口号。当这两个端口号被占用时,相应的服务器进程则会启动失败。在服务器安装启动之前,建议在命令提示符窗口中输入“netstat-aon”命令,查看是否有进程占用了80和3306端口号。如果有,记录下对应进程运行时的PID(进程唯一标识符),然后执行命令“tskill PID”,杀死该进程,释放该进程所占用的端口号,确保 PHP 服务器安装和启动成功。

以笔者主机为例,启动迅雷软件后,该软件默认会占用80端口号,这样有可能导致Apache服务器启动失败,使用下面的步骤即可停止占用80端口号的迅雷进程。(1)选择“开始→运行”命令,打开“运行”窗口。(2)在“运行”窗口中输入cmd命令,单击“确定”按钮。(3)在命令提示符窗口中输入命令“netstat -aon”并按“Enter”键,如图1-3所示。图1-3 命令netstat-aon的显示效果(4)在Local Address列中查找占用80和3306端口号的程序,并记录对应的PID。(5)由于当前启动的迅雷程序占用了80端口号,其对应的PID值为468,可以在命令提示符窗口中输入命令“tskill 468”杀死该迅雷进程。(6)在命令提示符窗口中重新输入命令“netstat -aon”,即可看到迅雷进程已经被杀死,为成功启动Apache服务器铺平道路。

1.3.2 服务器安装

下载了 WampServer 安装程序,并进行了服务器安装前的准备工作后,就可以开始服务器的安装和配置了。(1)双击WampServer2.0i.exe,进入WampServer程序安装欢迎界面,如图1-4所示。图1-4 欢迎界面(2)单击“Next”按钮,出现许可条款界面,如图1-5所示。(3)选中“I accept the agreement”(我同意条款)单选按钮,单击“Next”按钮,出现选择安装安装路径界面,如图 1-6 所示。WAMPServer默认的安装路径是“C:\wamp”,可以单击“Browse…”(浏览)按钮选择安装路径,这里使用默认安装路径。(4)单击“Next”按钮,出现创建快捷方式选项界面,如图1-7所示,其中第一个复选框负责在快速启动栏中创建快捷方式,第二个复选框负责在桌面上创建快捷方式。(5)单击“Next”按钮,出现信息确认界面,如图1-8所示。(6)信息确认无误后,单击“Install”(安装)按钮,安装接近尾声时会提示选择默认的浏览器,如果不确定使用哪款浏览器,单击“打开”按钮就可以了,此时选择的是Windows操作系统默认的IE浏览器,如图1-9所示。图1-5 许可条款界面图1-6 选择安装安装路径界面图1-7 创建快捷方式选项界面图1-8 信息确认界面图1-9 选择默认的浏览器(7)后续操作会提示输入一些 PHP 的邮件参数信息,这里保留默认的内容就可以了,如图1-10所示。单击“Next”按钮将进入完成WAMPServer安装界面,如图1-11所示。图1-10 PHP的邮件参数界面(8)当选中“Launch Wamp Server2 now”复选框时,单击“Finish”按钮后完成所有安装步骤,然后自动启动WampServer所有服务,并且任务栏的系统托盘中增加了WampServer图标。图1-11 安装完成界面(9)打开IE浏览器,在地址栏中输入“http://localhost/”或“http://127.0.0.1/”后按“回车”键,若出现如图 1-12 所示界面,说明 PHP 服务器安装并启动成功(图 1-12 所示界面对应的是“C:\wamp\www”目录下的index.php文件)。图1-12 PHP服务器安装且启动成功界面localhost是本地服务器主机名,127.0.0.1是本机地址。在Windows操作系统中,它们之间的对应关系定义在“C:\WINDOWS\system32\drivers\etc”目录下的hosts文件中。读者可以自定义127.0.0.1为其他主机名(例如www.news.com),此时在浏览器地址栏中输入“http://www.news.com/”同样可以看到图1-12所示界面。

1.3.3 PHP服务器启动与停止

PHP服务器包括Apache服务器和MySQL服务器,读者可以选择“手动启动PHP服务”或“操作系统自动启动PHP服务”两种方法启动PHP服务器。

方法1 手动启动、停止PHP服务器

单击任务栏的系统托盘中的WampServer图标,弹出如图1-13所示界面用于管理WampServer服务器。单击“Start All Services”选项,则启动 Apache 服务和MySQL服务。单击“Stop All Services”选项,则停止 Apache 服务和MySQL服务。单击“Restart All Services”选项,则重启Apache服务和MySQL服务。

也可分别对Apache和MySQL服务进行启动、停止操作。以管理Apache服务器为例,在图1-13中单击“Apache”选项,将弹出如图1-14所示界面。在图1-14界面中可以选择Start(启动)、Stop(停止)和Restart(重新启动)Apache服务。图1-13 管理PHP服务器的界面图1-14 管理Apache服务

方法2 操作系统自动启动PHP服务

步骤1 通过“开始→设置→控制面板”方式打开控制面板。

步骤2 通过“管理工具→服务”方式查看系统所有服务。

步骤3 在服务中找到wampmysqld和wampapache服务,这两个服务分别代表MySQL服务和Apache服务。双击某种服务,将“启动类型”由“手动”改为“自动”,单击“确定”按钮即可设置该服务为自动启动,如图1-15所示。图1-15 设置服务为自动启动

1.3.4 第一个PHP程序

PHP服务器安装并成功后,就可以开始PHP编程之旅了。以helloworld.php程序的编写和运行为例,该程序的开发步骤如下。(1)在“C:\wamp\www”目录下新建一个名字为“1”的目录,并在该目录下新建一个文本文档(扩展名为txt),然后将该文件名称从“新建文本文档.txt”修改为“helloworld.php”。(2)以记事本方式打开“helloworld.php”文件,然后输入1.1.3节中的helloworld.php代码。(3)保存“helloworld.php”文件内容后,启动PHP服务器。(4)打开 IE 浏览器,在地址栏中输入地址“http://localhost/1/helloworld.php”后按“回车”键。如果看到如图1-16所示的页面,则第一个PHP程序编写、运行成功。图1-16 helloworld.php程序的运行界面

为保证PHP程序文件的扩展名确实为php,不能隐藏已知文件类型的扩展名,显示文件扩展名的方法可参考如下步骤。

1.单击“工具”→“文件夹选项”(如图1-17所示),弹出“文件夹选项”对话框(如图1-18所示)。图1-17 单击“工具→文件夹选项”图1-18 “文件夹选项”对话框

2.在“文件夹选项”对话框中选择“查看”选项卡,取消复选框的选中状态,然后单击“确定”按钮即可完成显示文件名的扩展名设置。

1.3.5 PHP服务器配置

细心的读者不难发现,当刷新图1-16页面时,显示的时间会实时更新,但页面显示时间与当前主机实际时间相差8小时。为了保证两个时间的一致性,还需要对PHP服务器进行相应的配置,其中包括PHP预处理器的配置、Apache的配置和MySQL的配置。

1.设置允许外网访问Apache服务

WampServer安装完毕并成功启动Apache服务器后,默认情况是禁止外网访问Apache服务的,如果希望对外开放Apache服务,需要进行如下几个步骤的设置。(1)单击图1-13中的“Put Online”选项。(2)单击系统托盘WampServer图标,选择“Apache→httpd.conf”,打开httpd.conf配置文件。(3)在httpd.conf配置文件中查找关键字“Deny from all”,在第一处“Deny from all”下手动输入“Allow from all”,保存httpd.conf配置文件,如图1-19所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载