互联网软件开发与应.ppt
《互联网软件开发与应.ppt》由会员分享,可在线阅读,更多相关《互联网软件开发与应.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、互联网软件开发与应用互联网软件开发与应用任课教师:陆铭联系电话:66134267QQ:22839978PoPo:教学网站:任课教师:陆铭 网站:http:/mingler.ccshu.org/0第七章 PHP技术PHP简介lPHP语言的特点lPHP与其他CGI的比较PHP工作环境l安装和配置PHP环境PHP语言基础lPHP数据类型、运算符和表达式lPHP基本语句和操作数据库的命令PHP访问MySQL数据库lMySQL数据库的安装lMySQL的基本使用l使用PHP操作MySQL数据库17.1 PHP简介简介任课教师:陆铭 网站:http:/mingler.ccshu.org/2PHP语言的特点服
2、务器端嵌入式脚本描述语言,往往与MySQL数据库同时使用支持多种系统平台:win9x/NT/2000/Unix/Linux/Solaris具有自由软件的特性:可自行加入所需代码版本更新速度快容易与现有系统的网页整合:提供交互功能,修改成本低具有丰富的功能:l结构化、对象式设计、数据库处理、网络接口、安全编码机制系统移植速度快:少量改动,即可迁移3基于互联网技术的PHPPHP是一种服务器端嵌入式脚本描述语言,最大特点是数据库层操作功能强大网络发展早期都是单纯的HTML,近来需要同数据库链接的网页越来越多PHP之前用Perl、C编写CGI程序lPerl基本上成为了书写CGI程序的一个标准PHP语言
3、占有很大优势l在保持了与Perl相当能力的前提下加强了对数据库的操作能力l丰富的数据库操作函数可以进行几乎所有的数据库操作l最终要的是PHP可以在几乎所有的平台上运行Perl的最大优点是对字符串的控制能力特别强。使用Perl操作数据库需依靠Unix下Perl的DBI.pm实现。如果要在windows下使用,需使用windows下的数据操作扩展库。这使得程序的跨平台运行变得不可操作。基本的HTML文档 HTML文档 HTML文档(.htm/.html)+CGI程序 ASP/PHP程序 (Perl/C)对字符串控制力特强 在windows 在各种平台 平台下运行 运行 依靠Unix下的DBI.pm
4、 依靠windows (Unix,Windows)访问数据库 下的API访问 Linux等,可访问 数据库 多种类型数据库内嵌的脚本代码是独立的程序4PHP与其他CGI的比较编写CGI程序的方式有很多,PHP只是其中的一种lASP/PHP:嵌入式脚本的方式lPerl/C/C+:独立的程序,需专门安置在/bin/cgi目录中 平台性 稳定性 开发及维护时间 与网页的结合能力 安全性 功能及升级PHP 多平台 较强 较易 内嵌,结合较好 较好 升级最快NSAPI 只能 开发时间较长 不能内嵌 较弱 随服务器 Netscape 稳定后效率最佳ISAPI 只能IIS 较弱 同上 不能内嵌 最差 随服务
5、器ASP 只能IIS 较弱 较易 内嵌,结合较好 最差 随服务器CGI 无限制 强 视开发工具语言 不能内嵌 最好 无限制57.2 PHP工作环境工作环境任课教师:陆铭 网站:http:/mingler.ccshu.org/6PHP工作环境PHP开始只支持Unix和UnixLike体系的操作系统lSCOUnix、Linux随着PHP使用的日益增多,感到在缺少集成环境的Linux下开发是件困难事,发展了Winodws下的PHP版l除非实在没有条件构建Unix平台才在windows下进行调试l一般情况下,可以在一台计算机上搭建Linux平台作为服务器,在另一台安装有windows的计算机上通过Te
6、lnet进行管理PHP程序的常规开发方法l在windows环境下编写源代码l通过Telnet在Linux上进行调试和试运行l如此配合使用,可以使工作效率达到最大7在Linux和Windows下开发PHPPHP由Linux的发展而流行,Linux对PHP的支持最完美Linux下的PHP开发环境l程序源码编辑环境Vi,Emacs(windows的记事本)lPHP自身工作环境Apache,MySQL等l支持PHP的浏览器环境LYNX(Netscape/IE)在windows下开发PHP程序的最大好处就是可以享用集成环境Windows下的PHP开发环境l程序源码编辑环境记事本/专用文本编辑器lWeb服
7、务器IIS/Apache,MySQL,SQL ServerlPHP浏览器IE/Netscape8Windows下安装和配置PHP环境(1)从PHP官方网站上下载php安装压缩包l官方网站:http:/l在Download目录下可以找到php公布的最新的php安装压缩包在Linux下习惯于发行软件的源程序,而在windows下则只提供编译后的文件l最新版本是php包含:Apache、CGI、API、MySQL、ISAPI、NSAPI等下载后将其解压缩(WinZip/WinRAR)到C:PHPl也可以解压缩到其他地方,如果这样做,则在安装完成后须编辑解压出来的文件中的.inf 文件l凡是带有 ph
8、p 前缀的文件可以直接放到php目录下,其他文件只能放在windows/system32下,才能被windows调用解压缩后,执行安装程序进行安装lphp目录下有个php.ini-dish文件,需要将其改名为php.ini,并将其移动到windows目录下,并将其中 extension=php_MySQL.dll 前的注释标记去掉9Windows下安装和配置PHP环境(2)使用IIS服务器安装PHPl修改完php,ini文件后,鼠标右击php_iis_reg.inf文件,在弹出的菜单中选择“安装”将PHP安装到系统中l安装完毕后必须重新启动计算机,安装过程中修改的参数才能有效l重新启动后即可使
9、用l安装和使用过程中有不清楚的地方,可以随时打开求助文件了解操作要点在Windows下构建Apache平台运行PHPl除了可以在IIS中安装PHP外,还可以在windows环境下构建Apache平台l首先到Apache网站上下载Apache在Windows下的应用程序l下载后解压缩安装,安装完成后需要对Apache做一些特别的设置在http.conf 或 srm.conf中增加一行信息:Apache application/x httpd-php php/php.exeApache applicaion/x httpd php.php10Linux下安装和配置PHP环境在Linux下,程序以源
10、码形式发布,需从源码开始编译并安装,相比Windows下稍微复杂些l首先从php官方网站上下载php源码,如:这是一个压缩文件,.gz表示是经过gzip压缩的文件,.tar表示这是一个包文件。Linux文件压缩时有个习惯:先将文件打包,然后再压缩l将压缩文件用gunzip和tar进行解压缩和解包gunziptar xvfl解压后的Linux源码中往往有一个脚本程序,可以直接使用该脚本程序configure进行编译,但这样编译出来的文件安全性差l一般使用配置项进行指定以获得最适合的程序运行./configure help|more可以查看相关的选项l编译时可选择编译成外部 CGI程序 还是 Ap
11、ache内嵌模块建议最好将对MySQL的支持部分编译进去11几个常用的Unix命令gunzip 对后缀为.gz的压缩文件进行解压缩操作tar 对后缀为.tar的打包文件进行解包操作cd 设置当前文件目录路径make 对源码文件进行编译操作make install 经编译后的结果安装到当前目录下make test 测试安装结果命令make bench 评估安装结果和性能cp 文件复制操作命令./表示当前目录./表示当前目录的父目录12配置php环境PHP环境的配置主要是通过php.ini文件进行的PHP环境配置的信息对整个PHP环境都有效,如果要改变相关的环境因素,只要修改环境配置文件php.i
12、ni即可环境配置文件的读取l以内置服务器模块方式运行的PHP,在启动服务器时读取l以CGI方式运行的PHP,每次调用时都发生调用对于Apache+PHP的配置信息lApache的配置文件为:httpd.conf 或 srm.conflPHP的配置文件为:php.ini依据环境参数位置的不同,修改httpd.con(srm.conf)或 php.ini137.3 PHP语言基础语言基础任课教师:陆铭 网站:http:/mingler.ccshu.org/147.3.1 PHP语言中的简单约定PHP代码在html中嵌入形式 这两种是php语言的标准形式使用php代码在客户端的浏览器进行页面输出时,
13、页面的源代码中只有一些标准的HTML代码lphp引擎在服务器端过滤了文件的内容,对其中的代码进行了处理,转换成了标准的HTML代码,并发送到客户端的浏览器 使用这两种形式时需避免与XML或ASP语言发生冲突15PHP语句的脱离形式与程序注释PHP语句的结束(脱离)形式l与C语言相同,PHP程序语句是以“;”为结束标志的l在嵌入符号“?”之前的一句php语句可以不写“;”就结束程序注释l可以使用C、C+、Unix Shell语言的注释方式/或#-单行式,如:/One line.、#One line./*/-多行式,多行式的注释不能相互包含示例示例l/*/l/*/*/*/l/*/*/167.3.2
14、 变量的声明和文件的引用变量声明lPHP是一种弱类型声明语言,与VBScript、Javascript相似,变量声明时不需要特别说明变量的类型,而且往往在变量声明的同时进行变量初值的赋值lPHP变量声明格式:$变量名=表达式或值;$title=“Hello,world!”;头文件的引用l所谓头文件是指这样的一类文件,其中包含了大量的常量、通用函数和通用过程,它的内容可以为各个程序文件所引用l引用头文件可以加快程序开发的速度,减少程序开发难度l在php程序中可以像C语言一样,对头文件进行引用l引用格式Require(“文件名”);静态引用.Include(“文件名”);动态引用.不论是否真的需要
15、使用,引用的文件都将作为主程序的一部分来运行。出错时,给出错误信息并终止程序的运行。仅在确定需要使用其中的常量或函数时,文件才会被加入到主程序中。出错时,仅给出错误信息,程序照常运行。17复合语句,=为赋值语句,while为当型循环数据库操作函数数据库选择函数7.3.3 数据库操作命令先看一个简单例子?php$db=MYSQL_Connect(localhost,user,passwd);MySQL_Select_db(mydb,$db);$result=MySQL_query(select*from employees,$db);echo n;echo 姓名职位n;while($myrow=
16、MySQL_fetch_row($result)printf(%s%s%s,$myrow1,$myrow2,$myrow3);echo n?变量,数据库链接号主机名用户名口令归纳:数据库操作的基本步骤 链接数据库服务器:MySQL_Connect(localhost,user,passwd);选择一个数据库:MySQL_Select_db(mydb,$db);对数据库进行具体的操作:MySQL_query(select*from employees,$db);处理记录:MySQL_fetch_row($result)假设:已经在MySQL中创建了一个名为mydb的的数据库,其中含有一个数据表e
17、mployee,具有“姓名”、“职位”等字段注意:php中对变量、标识符等区分大小写数据库链接函数187.3.4 一个完整而简单的PHP程序Sample.php php程序示例程序示例?php$hello=这是我编写的第一个这是我编写的第一个PHP程序程序;print$hello;print$hello ;?说明:php是服务器端的嵌入式脚本描述语言,php程序必须放置在服务器端,在服务器上供客户端的浏览器执行,即类似ASP程序,不可在客户端直接浏览。197.3.5 PHP的数据类型、运算的数据类型、运算符和表达式符和表达式任课教师:陆铭 网站:http:/mingler.ccshu.org/
18、20PHP的数据类型PHP支持多种数据类型lInteger 整型、Double 浮点型、String 字符串lArray 数组、Object 对象、pdfinfo和pdfdoc PDF信息PHP不是强类型说明语言,在程序中可以不必事先进行数据类型的声明,PHP解释器会自动对数据类型进行判断在第一次赋值时,PHP根据上下文决定变量的数据类型21PHP中的常量PHP中对常量的类型要求是不严格的常量分为预定义常量和自定义常量两种l预定义常量:PHP内部事先已经定义了的常量预定义常量有多种不同的开头,决定了各种不同的类别 P.149l自定义常量:由用户自行依据程序的需要来定义的常量自定义常量的定义格式
19、:define(“常量名”,表达式或值)例:define(“CONSTANT”,“Hello,World.”)示例22再谈PHP中的变量变量的概念l变量是通过一个标识、类型来应用内存,通过标识、类型和可选的数值来定义变量l每一个变量都有一个作用的范围,定义了变量的可见性和生命周期变量的定义l$变量名=初始值变量的类型l详见P.149,通常情况下不需要声明类型,但可使用cast或settype进行强制类型转换变量的初始化l一般只要直接赋值即可,如:$int1=1998,$ln=a new line.n,$st=phpl数组初始化:$数组名=array(,),如:$name=(张三,李四)l数组变
20、量的引用:$数组名i,i=0,1,2,,如:$name0,$name1 i 称为数组的下标,下标的取值从0开始 变量定义?php$name=大山;$account=486595237;$Balance=16893.85;echo$name,你好!;echo 你的账号是:$account。;echo 你现在账上的余额是:$balance。;?23变量的作用域一般情况下,PHP变量仅仅只有有限的活动范围在用户自定义的函数中有“本地函数范围”的概念l所谓“本地函数范围”是指所有函数中的变量不经特别声明,都仅仅在函数内有效,函数外定义的变量在函数内无效一般情况下,变量均为局部的(本地),除非用以下两种
21、方法之一指定其全局属性l使用global关键字作再定义l使用$GLOBALS数组,该数组可以不用声明,可以直接使用 变量作用域$a没有在函数内说明,没有任何结果输出 变量作用域 输出结果为:3.008,9558884.000 变量作用域变量作用域 输出结果同样为:输出结果同样为:3.008,9558884.00024静态变量静态变量仅仅在本地函数的活动范围中存在通常情况下,变量的生命周期仅在一次调用中l在用户自定义函数中的变量,调用结束,变量就释放了即函数调用结束,变量消亡;下次调用,重新设置变量静态变量能够使变量在函数调用结束后仍保持不变l要想使变量能够保持一段时间,须使用静态变量 因为变量
22、$a的初始值为0,所以函数调用后输出结果为0,然后变量$a增1,$a+,此时变量$a的值为1,但函数运行结束,变量全部释放,变量$a不再存在变量$a的初始值仍为0,第一次函数调用后的输出结果为0,然后变量$a增1,$a+,此时变量$a的值为1,因为变量$a是静态变量,函数运行结束后,变量不会释放,变量$a仍然存在;第二次调用该函数时,不再做新的初始化操作,直接取出该变量的值使用。结果是每次输出的值比上次的大1。25递归函数和递归调用递归是程序设计中常用的一种程序设计方法l递归的含义就是用自己的定义来说明自己递归函数就是具有函数自身调用功能的函数这种调用就称为递归调用递归函数中使用静态变量能够使
23、值发生传递,是一种很重要的应用方法为了避免死循环,在设计递归函数的时候,必须有一个明确的且必定会发生的条件来终止函数的递归调用?php function test()static$count=0;$count+;echo$count;if($count函数第一次调用:$count=0,$count+1,输出 1,$count 10函数被第二次调用:$count=1,$count+1,输出 2,$count 10函数被第三次调用:$count=2,$count+1,输出 3,$count 10函数被第四次调用:$count=3,$count+1,输出 4,$count 10函数被第十次调用:$c
24、ount=9,$count+1,输出 10,$count=10$count-,返回。然后依次$count-,返回26活动变量活动变量类似于语言中的指针所谓活动变量,是指动态地设置和使用一个变量的名称示例l一个普通变量的声明:$a=“hello”$a为普通变量,值为hellol一个活动变量的声明:$a=“world”活动变量将$a的值作为变量名,并赋值worldlecho“$a$a”;echo“$a$hello”;活动变量的好处是可以动态地引用/设置一个变量的名字数组中使用活动变量l$ai可表示为$ai 作为变量名,下标变量$a的第i个变量,$ai可表示为$a 作为变量名,a变量值为变量名组成的
25、数组的第i个分量$ai27外部PHP变量(1)由客户端提供的信息,在PHP中被视作外部的变量得到响应HTML表单l当表单被提交后,PHP脚本将自动设置从表单获得的变量为可用变量l在php_track_var特性打开的情况下,可使用全局联合数组:$HTTP_POST_VARS、$HTTP_GET_VARS图象提交变量名字l当提交表单的按钮视一个图象按钮时,表单程序会使用两个附加的变量_x和_y来记录用户点击在该图片上的位置信息。l (sub_x,sub_y)HTTP cookiesl可使用setcookie()函数对cookie进行设置l任何从服务器发送到客户端的cookies将自动转化为一个P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 互联网 软件 开发
限制150内