新(可行性报告商业计划书)网站的PHP实现技术8.ppt
《新(可行性报告商业计划书)网站的PHP实现技术8.ppt》由会员分享,可在线阅读,更多相关《新(可行性报告商业计划书)网站的PHP实现技术8.ppt(218页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、网站的PHP实现技术 PHP是一种服务器端解释执行的脚本语言。如果用户接触过ASP的话,那么对于在HTML页面中嵌入代码应该是比较熟悉了。PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。这种模式可以用来完成相当复杂的功能。PHP是编程语言和应用程序服务器的结合。它和其他编程语言类似,使用变量存储临时数值,使用操作符处理变量。PHP的真正价值在于它常用于网站的应用程序服务器。1PHP概述PHP(原意为PersonalHomePage),是一种跨平台的服务器端嵌入式脚本技术。PHP页面是一种文本文件,是在普通HTML页面文件中嵌入PHP脚本语句,由服务器解释和翻译成普通的
2、HTML文件,然后传送给客户端浏览器,这一点和ASP一样。PHP是用C语言编写而成,可运行于Unix/Linux和Windows9x/NT下。目前最新的版本为PHP4.0,而常用的版本为PHP3.0。1PHP概述PHP的网上资源如下:(1)官方网站:http:/www.PHP.net/(2)说明手册:可在官方网站上查阅或下载说明文件。或者在安装完成后,在PHP的目录底下的子目录./doc中取得,该手册为html格式,可用浏览器直接浏览。1.1 网站的PHP实现技术的特点 在网站的实现技术方面,PHP具有四个主要的特点。1.快速快速PHP是一种非常强大的CGI脚本语言,其语言特点基本上源于C语言
3、,实现方式更像PERL,而其对数据库的内在支持更使之成为ASP的强大对手。同时,PHP是一种服务器内置式的Script语言,语法上混合了C、Java、Perl等语言的、以及PHP式的新语法,执行动态网页比CGI或者Perl更快,这是它的第一个突出的优点。它的出现使得在Unix上更快速地开发动态Web成为现实。它与Javascript等语言的一个区别就是PHP是在服务器执行,客户机所看到的是其在服务器上运行的结果。1.1 网站的PHP实现技术的特点2.适合于网络开发领域适合于网络开发领域对于网络开发领域,PHP是最合适的。因为PHP是被设计用来编写Web应用程序的语言,所以对于为它度身量作的任务
4、Web站点的开发,无疑最能胜任。按照DavidMedinets的说法:PHP是编程语言和应用程序服务器的结合。PHP和其他的编程语言类似,使用变量存储临时数值,使用操作符处理变量。PHP的真正价值在于它是一个应用程序服务器。所谓的应用程序服务器,是指一个把几项不同的技术组合为一个完整套件的程序。这些技术包括:1.1 网站的PHP实现技术的特点(1)一个功能强大的编程语言。(2)存取数据库中存储的资料。(3)支持Internet协议,尤其是电子邮件和HTTP协议。PHP在Internet上,支持了许多的通信协议(Protoco1),包括了与电子邮件相关的IMAP、POP3、网管系统SNMP、网络
5、新闻NNTP、账号共享NIS、全球网HTTP及Apache服务器、目录协定LDAP以及其他网络的相关函数。1.1 网站的PHP实现技术的特点3.跨平台跨平台PHP具有在不同操作平台下适用的版本,也提供源代码版本。PHP可支持多种主流与非主流数据库,包括常用的DBA、dbase、dbm、filePro、Informix、InterBase、mSQL、Microsoft SQL Server、MySQL、Solid、Sybase、ODBC、Oracle8、Oracle、PostgreSQL等。用PHP写出来的Web后端CGI代码,可以很轻易地移植到不同的平台上。例如,用Linux架构的网站,在系统
6、负荷过高时,可以快速地将整个系统移到SUN工作站上,不用重新编译CGI程序。面对快速发展的Internet,这是长期规划的最好选择。1.1 网站的PHP实现技术的特点4.功能全面功能全面PHP的功能非常全面,包括英文拼写检查、BC高精确度计算、西洋历法、PDF文件格式、Hyperwave服务器、图形处理、编码与解码功能、杂凑处理、WDDX功能、qmail系统、压缩文件处理、XML解析,除此之外,对于一般语言有的数学运算、时间处理、文件系统、字符串处理、行程处理等功能,它也同样擅长。PHP支持HTTP的身份认证、Cookie、GIF图像创建,其最有代表性的特点是它的数据库层,这使得编写基于数据库
7、的网页变得非常简单。PHP也支持POP3、HTTP、SNMP、NNTP、IMAP等协议,并可采用它们的服务进行网络编程。1.2 PHP运行环境 PHP具有跨平台特性,可以与多种数据库连接,其中:Linux+Apache+MySQL是它的最佳组合,效率也是最高的。1.MySQLMySQL是一个小巧灵珑的数据库服务器软件,对于小型系统是非常理想的。除了支持标准的ANSISQL语句,它还支持多种平台,而且在Unix系统上该软件支持多线程运行方式,因此性能相当好,所以它与类Unix的Linux配合十分默契。而对于不使用Unix/Linux的用户,它可以在WindowsNT/2000系统上以系统服务方式
8、运行,或者在Windows9x系统上以普通进程方式运行。MySQL的组合可以跨平台运行,这就意味着可以在Windows上开发,然后在Unix/Linux平台上运行。另外,PHP也能作为标准的CGI进程来运行,此时它是一个独立的脚本解释器,或者是Apache的一个嵌入模块。1.2 PHP运行环境2.LinuxLinux是一套免费使用和自由传播的类Unix操作系统,Linux以它的高效性和灵活性著称。它能够在PC计算机上实现Unix特性,具有多任务、多用户的能力。Linux最大的特点在于它是GNU(Gnus Not Unix)的一员,遵循公共版权许可证(GPL),秉承“自由的思想,开放的源码”的原
9、则,对计算机爱好者完全开放的操作系统。选择Linux有如下几个优点:(1)Linux是“免费”的,包括其附带的的“免费”软件,可以极大地降低总成本(TCO)。(2)Linux比较稳定而且性能相当地好。1.2 PHP运行环境(3)Oracle、Infomix、Sysbase、IBM等许多公司都支持Linux,用它来做数据库平台也非常好。(4)Linux本身就是通过网络来协同开发的,所以非常适合Internet/Intranet。(5)开放的源代码特性使得用户可以根据自己的要求来添加或删除某些功能,其可定制性极为方便。1.2 PHP运行环境3.ApacheApache是基于UNIX平台的,它功能强
10、大,安全系数高,而且十分稳定。Apache是目前用来当“虚拟主机”的最热门的后台软件。所谓的“虚拟主机”主要是指“虚拟网络服务”,通过它与真实的服务器配合就可以完成整个服务。1.2 PHP运行环境Apache服务器的设计不但与NCSAhttpd1.3相容,并且提供了以下功能:(1)作为身份验证之用的DBM资料库。(2)自定的(Customised)错误与问题回应方式。(3)多重的directoryIndex指令。(4)不限次数的Alias以及Redirect指令。(5)以内容为基础的文件协商。(6)虚拟服务器。1.2 PHP运行环境4.PHP的最佳组合及运行环境的最佳组合及运行环境用户一般可以
11、选用以下环境:(1)服务器端运行平台:Linux(2)后台Web服务器:Apache(3)数据库:MySQL(4)客 户 端 运 行 平 台:Windows 9x、Windows NT或 者Windows2000(5)支持软件:IE浏览器(4.0以上)或其它兼容的浏览器 (6)编程软件:Dreamweaver、Flash、FrontPage等。1.2 PHP运行环境利用Apache+MySQL+Linux+PHP就可以建立起网站并提供网络服务了。关于Apache、MySQL与Linux其他信息请参考相关书籍。1.3 PHP访问数据库的机制 PHP访问数据库的工作过程如下:(1)客户在浏览器地址
12、栏目输入要访问的PHP页面的URL,发出一个PHP请求。(2)Web服务器接受该请求,根据扩展名.php识别出PHP文件,并找出相应的PHP文件。(3)Web服务器把PHP文件发送到PHP引擎。(4)PHP引擎将PHP文件从头至尾进行扫描,根据命令连接后台数据库。(5)数据库管理系统对数据库进行操作,并将用户请求数据通过数据库管理系统上传到PHP引擎。1.4 PHP与其它的网站实现技术的比较 网站实现技术有很多种,而PHP只是其中的一种。下面对目前流行的三种网站实现技术ASP、PHP与JSP技术进行比较。1.4 PHP与其它的网站实现技术的比较其中,JSP(JavaServerPages)是一
13、种崭新的动态网页制作技术,它具有跨平台与跨网络服务器支持,以Java为主的技术来产生动态网页。JSP与Microsoft的ASP兼容,但它是使用类似HTML的卷标以及Java程序代码片段而不是VBScript。当用户使用Apache或Netscape服务器时,并不能提供ASP支持,这时可以考虑JSP。虽然也可以取得这些服务器的ASP附加配备模块,但价格相当昂贵,目前Sun并没有对JSP组件收取费用。同时对于Solaris与Linux以及Windows,这些组件也都很容易取得。但请不要将JSP与服务器端的JavaScript混在一起。网络服务器会将用JSP写成的Java程序代码片段自动转换成Ja
14、vaservlets。而先前许多必须以Perl手写的程序或服务器特定的API(如ASP)控制的功能也都可通过JSP来自动化处理 1.4 PHP与其它的网站实现技术的比较ASP、PHP与JSP技术的平台性能比较见表9-l。2PHP的功能特点PHP是最流行的Web脚本语言之一,它运行在Web服务器端,根据用户请求或服务器端的数据产生动态网页。它功能强大,和HTML脚本融合在一起,并具有内建访问数据库的能力。它能够作为ApacheWeb服务器的模块执行,也使得它的执行效率要高于普通的CGI程序。2.1PHP的HTTP认证功能HTTP认证功能仅当PHP作为Apache的模块运行时才可用。在一个Apac
15、he的PHP解析模块中,可以使用Header()函数发送一个“请进行身份验证”的消息到客户端的浏览器上,这将在客户端弹出一个要求输入用户名和密码的窗口。当用户填入了用户名和密码后,包含该段PHP程序的网页会再次被调用,有三个变量被传入程序,SPHP_AUTH_USER、SPHP_AUTH_PW和SPHP_AUTH_TYPE分别代表用户名、密码和认证类型。(此功能只支持基本身份验证)。2.1PHP的HTTP认证功能下面是一段HTTP认证的程序:2.1PHP的HTTP认证功能以上的例子通过用户名称/密码对tnc/nature来验证一名用户的登录,事实上在实际应用中不大可能如上面那样,使用代码段明显
16、的用户名称/密码对,而是利用数据库或者加密的密码文件来存取它们。但是要注意,以上方法不能阻止某些人使用在该服务器上已经获得认证的URL来窃取密码,从而对非授权URL进行控制的情况。2.2 使用PHP生成动态的GIF图像 PHP不但可以输出HTML,也可以方便地生成动态的GIF图像文件,甚至GIF格式的图像流。为此要将PHP和提供图像函数GDlibrary一起编译。下面是用PHP创建GIF动画的示例程序。这个文件可以通过网页中类似的语句来调用。上面这段程序button.php3取出字符串“text”并且把它写到背景图上(本例中是“images/buttonl.gif”),然后输出所得到的图像。这
17、样就可以很方便地制作文字不同而样式相同的按钮,而不必去一一重画了。在程序中它们将被动态地生成。2.3 文件上传支持 利用PHP用户能够从任何兼容RFC-1867标准的浏览器上传文件。这个功能使用户既可以上传文本文件也可以上传二进制文件。结合PHP的认证和逻辑函数,能够完全控制谁可以上传文件,和文件上传后可以干什么。要实现文件上传,需要建立一个特殊的FORM,请看下面的例子:2.3 文件上传支持Send this file:其中的URL是一个用于响应的PHP文件,隐藏的MAXFILE-SIZE参数必须写在输入文件字段之前,它指明了可以上传的文件的最大字节数。上载传输成功后,下面的变量将被定义:2
18、.3 文件上传支持$userfile:用户上传到服务器上的文件临时存放的名称。$userfile_name:在用户机器上该文件的原始名称。$userfile_size:上传文件的实际字节数。$userfile_type:如果用户的浏览器提供了这个信息的话,它表示MIME的类型。例如“image/gif”。2.3 文件上传支持“$userfile”这个变量是上面表单中TYPE=file的字段的名字,在例中称为“userfile”。文件被存储在服务器上默认的临时目录下。用户可通过手工设置PHP运行的环境变量中的TMPDIR来进行设置。该变量不能通过程序中的PutEnv()函数设置。表单中指定的PH
19、P程序,可以控制上传了的文件用来干什么。比如,可以使用Stlle_size变量来决定抛弃那些太大或太小的文件;可以通过比较Sille_type变量剔除类型不匹配的文件。总之,用户可以决定是把那个文件从临时目录里删除还是移到别的地方去。另外,有一个问题值得注意,CERN的httpd服务器可能删掉content-type中MIME数据头后第一个空白开始的所有数据,因此,CERN的httpd服务器不支持文件上传。2.4 HTTP Cookie的支持 PHP支持基于HTTP的Cookies。在需要时可以像使用一般变量一样方便地使用Cookie。Cookies是浏览器保存于客户端的一些信息片段,由此可以
20、知道某一台某特定PC上的人是否访问过用户的站点及浏览者在网站上的踪迹等。使用Cookies的典型例子就是对浏览者偏好的辨别。Cookies由函数setcookie()设定。与输出HTTP标头的函数header()一样,setcookie()必须在任何实际内容输出到浏览器之前调用。以下是一个简单例子:2.4 HTTP Cookie的支持?if(empty($VisitedBefore)/如果没有设定如果没有设定cookie,为为cookie赋上当前时间值赋上当前时间值/函数中的最后一个参数声明了该函数中的最后一个参数声明了该cookie保存的时间保存的时间/在这个例子中是在这个例子中是1年年/t
21、ime()函数返回自函数返回自1970年年1月月1日以来的以秒数计的时间日以来的以秒数计的时间SetCookie(VisitedBefore,time()+(60*60*24*365);2.4 HTTP Cookie的支持else/欢迎浏览者再次光临欢迎浏览者再次光临echo Hello there,welcome back;/读取读取cookie并判断并判断 if(time()-$VisitedBefore)=(60*60*24*7)echo Why did you take a week to come back.You should be here more oftett?;?2.5 P
22、HP 4.0的功能新特性 比较来说PHP4.0是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比PHP3.0快,其脚本描述更强大并且更复杂,最显著的特征是速率比的增加。PHP4.0这些优异的性能是PHP脚本引擎重新设计产生的结果:引擎由AndiGutmans和ZeevSuraski从底层全面重写。PHP4.0脚本引擎Zend引擎使用了一种更有效的“编译执行”范式,而不是PHP3.0采用的“执行当解析时”模型。PHP4.0在3.0版的基础上增加或增强了许多有用的特性,主要列举如下:2.5 PHP 4.0的功能新特性别名:在PHP4.0中,可以利用引用为变量赋值,这给编程带来了很大的灵活
23、性。(1)扩充了API模块:PHP4.0为API模块提供了扩展PHP接口模块,它比旧API版本显著地加快。PHP模块已有的及最常用的接口多数被转换为使用这个扩展的接口。(2)自动资源释放:PHP4.0增加了引用计数功能,这种新技术的引入使PHP4.0具有了自动管理内存功能,减轻了开发人员的负担。(3)布尔类型:PHP4.0支持布尔类型。(4)进程生成:在UNIX环境下的PHP4.0提供了一个很智能和通用的生成进程,使用了一种基于automake/1ibtool的系统生成技术。2.5 PHP 4.0的功能新特性(5)COM/DCOM支持:PHP 4.0提供COM/DCOM支持(仅用于Window
24、s环境)可以无缝地存取和访问COM对象。(6)与PHP3.0有很好的兼容性:PHP4.0与PHP3.0代码向后兼容性接近100。(7)配置:PHP 4.0重新设计和增强了php.ini文件,这使得用php.ini来配置PHP显得极为容易,全部文件能被Apache在运行时间操作(在Apache环境下)或由Windows注册表(在Windows下面)操作。被加入php.ini文件的配置指令自动地在所有相关的模块中被支持。(8)加密支持:PHP4.0实现了完整的加密,这些加密功能是一个完整的mycrypt库,并且PHP4.0支持哈希函数、Blowfish、TripleDES、MD5,而且SHAl也是
25、可使用的一些加密算法。2.5 PHP 4.0的功能新特性(9)类型检查:PHP4.0支持同一操作符用于类型检查:“=”(3等号运算符),为在两个值和其类型之间作检查。例如,“3”=3将视为假(类型是不同的),而“3”=3(相等判断)将视为真。(10)FTP支持:PHP4.0支持FTP。通常,用户会为通过调制解调器连接下载一个大文件提供一个网接口。此时如果需要,可以用PHP。(11)PHP4.0新增函数或功能增强函数:PHP4.0新增了许多函数,同时也将许多现有的函数功能进行了增强,例如,arraycount_values()、eval()、foreach()、nclude()、ob_end_c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可行性报告 商业 计划书 网站 PHP 实现 技术
限制150内