PHP进阶

PHP功能的强大首先在于它的大量的内置函数库,它可以让初学者也能执行许多复杂的任务,而不必安装新的库和关心底层的详细情况,而这恰恰是其它流行的诸如Perl这样的客户端语言所不具备的。由于这个教程的限制,我们仅仅学习了一些与MySQL数据库相关的一些函数(事实上,即使是这种函数,我们也没有学全)。在这最后的部分,我们会稍微扩大一下范围来看看其它对于建立一个数据库驱动的网站有用的PHP的特征。

htm,html,xhtml,xml,xsl,dhtml,shtm和shtml的区分,xsldhtml

介绍一下htm,html,xhtml,xml,shtml的区分,以下内容来自百度后的知识整理。

HTML和htm:

  HTML(Hypertext Markup
Language)超文本传输语言,是www的描述语言,由HTML命令组成的+描述性文本,页面中没有服务端执行的语言。而htm,实际上和HTML没有本质意义的区别,只是为了满足DOS仅能识别8+3(文件名不超过8个字符,扩展名不超过3个字符)的文件名而已,因为一些老的系统不能识别四位的文件名,所以某些网页服务器要求index.html的最后一个字母
l
不能省略。MSIE能自动识别和打开这些文件,但是编写网页地址的时候必须是完全对应的,也就是index.html
和 index.htm
是两种不同的文件,对应着不同的地址(UNIX系统对大小写敏感,所以不吻合的话就可能报没有文件或者找不到文件)。

XML,XSL和XHTML:

  XHTML(The Extenaible HyperText Markup
Language)可扩展超文本标示语言缩写;XML(Extensive Markup
Language)可扩展标示语言。 

  XML的设计宗旨是传输和存储数据,而不是显示数据,是对HTML的补充,可以对文档和数据进行结构化处理从而能够在部门,客户和供应商之间交换,实现动态内容的生成;

  XML转换数据的能力强大,只是面对上千万的已经存在的站点,直接采用XML是不适合的,所以出现了XHTML,后者是在HTML4.0的基础上,用XML的规则对其扩展,得到了XHTML,可以认为XHTML是HTML向XML的过渡,XHTML的语法要求更严谨些。而且XHTML和CSS结合后,既能实现样式和内容的分离,又能有机的组合网页的代码,在另外的单独文件中,还可以混合各种XML应用(SVG等)。

  XSL用来规定XML的文档样式语言,XSL能使Web浏览器改变原有文档的表示法, 例如改变数据的显示顺序,不必再与服务器进行交互通信,通过样式表的变换,同一文档可以显示更大,或者经过折叠只显示外面的一层。 XSL
凭借本身的扩展性,可以控制无穷的标记,而且控制标记的方式也是无穷的,这给Web提供了高级的布局特性,如文本的旋转,多列,独立区域。同时支持国际书写格式,可在一页上混合使用从左到右,右到左,上到下的书写格式。XSL标准介于CSS和SGMI的文档样式语义和规范语言之间的。

DHTML:

  DHTML(Dynamic
HTML)动态HTML,是相对传统的静态HTML而言的一种网页概念(是一种概念而不是技术),并不是一门语言,只是HTML,CSS和客户端脚本的一种集成,是一种将目前已有的网页技术,语言的标准整合运用,制作出下载后仍然能实时变换页面元素的网页技术概念。

  DHTML就是网页从Web服务下载后不需要再经过服务器的处理,而在浏览器中直接动态更新网页内容,版本样式,动画等,可以使网页设计者创建出能够和用户交互并包含动态内容的页面。

 

SHTML和HTML的区别:

  SHTML:包含有嵌入式服务器方包含命令的html文本,在被传送到服务器端前,服务器会对SHTML文档完全的读取,分析和修改。

  你可以在SHTML文件中用SSI指令引用其他的html文件,服务器传送给客户端的文件是已经解释的SHTML,不会有SSI指令,它实现了HTML所没有的功能,即实现了动态的SHTML。

  SHTML是一种SSI技术的文件,也就是 Server Side
Include–SSI服务器端包含指令,如果Web Server
有SSI功能的话(尤其是基于Unix平台的web服务器和Netscape Enterprise
Server等都支持SSI命令)会对shtml文件特殊招待,先扫描一次shtml文件看有没有特殊的SSI指令,如果有就按照Web
Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。

  SHTML使用SSI的文件扩展名,SSI通常称为“服务器嵌入”或者叫做”服务器包含”,是一种类似ASP的基于服务器的网页制作技术。

  SSI的工作原理:将内容发送到浏览器之前,可以使用“服务器包含端“指令将文本,图形或应用程序信息包含到网页中,例如:可以使用SSI包含时间、日期戳,版权声明或供客户端填写并返回表单,对于多个文件中重复出现的文本或图形,使用包含文件是一种简便的方法,将内容存入一个包含文件中即可。而不必将内容输入所有文件。通过一个非常简单的语句可调用包含文件
,这个语句指示Web服务器将内容插入适当的网页,使用包含文件时,对内容的所有更改只需要在一个地方就能完成。

  因为包含SSI指令的文件要求特殊处理,所以必须为所有SSI文件赋予文件扩展名,默认是.stm,.shtm和.shtml。

  Web服务器在处理网页的同时处理SSI指令,当Web服务器遇到SSI指令时,直接将包含文件的内容插入到HTML网页中,如果包含文件中包含SSI指令,则同时插入此文件。除了用于包含文件的基本指令外,还可以使用SSI指令插入文件的相关信息或者运行应用程序或shell命令。

  网站维护常常遇到当网站的结构已经固定,但为了更新内容不得不做大批页面,而SSI提供了一种简单的有效方法,它将一个网站的基本结构放到几个简单的HTML文件(模板)中,以后我们要做的只是将文本传到服务器,让程序按照模板自动生成网页,使管理大型网站稍微容易点。

  所以利用SHTML格式的页面和ASP差不多,但是因为API所以运转速度更快,效率比ASP快,比HTML慢,但由于使用服务器端包含,因此页面更新容易(特别是批量更新banner,版权等)。

 

  html或htm是一种静态的页面格式,里面没有服务器端执行的脚本,所以不需要服务器解析其中的脚本,而shtml基于SSI技术,当有服务器端可执行脚本被当做一种动态编程语言(如PHP,JSP,ASP)来看待;当shtml或shtm中不包含服务器端可执行的脚本时和html或htm是一样的。

 

以上只是简单的介绍,更多详细内容参考百度百科的各个介绍。

  

 

介绍一下htm,html,xhtml,xml,shtml的区分,以下内容来自百度后的知识整理。
HTML和…

我们首先将学习PHP的include函数,使用这个函数,我们可以在许多页面中重复使用同一个PHP代码段。我们还看到如何利用这个函数提高我们的网站的安全性。

虽然PHP一般是相当快速和有效率的,但是它会加重服务器的运行时间和工作量。对于一个高流量的站点来说,这种负担可能会达到无法接受的程度。但是这并不意味着我们需要放弃我们的站点的数据库驱动的特征。我们会看到如何使用PHP在后台建立半动态页面而不必过分加重服务器的负担。

经常有人问论坛是如何利用一个INPUT
TYPE=FILE标记来接受文件的上载的。我们也将学习到如何用PHP实现这种功能,而且我们还会看到如果将其有效地结合到一个数据库驱动的站点中。

最后,PHP还有一个相当强大的功能是可以很简单地将动态生成的内容很方便地作为email的信息发送出去。不论你是想要使用PHP使得访问者将你的站点的内容发送给它们的朋友,还是仅仅想提供一种方法让用户可以得到他们遗忘的口令,PHP的email函数都可以很好地实现这种功能!

PHP的服务器端包含

如果你已经在Internet上工作过一段时间,你也许接触过服务器端包含(SSI)这个术语;如果你没有接触过,你可以参看有关这个问题的Matt
Mickiewicz的迷你指南。

从本质上说,SSI允许你将存储在你的Web服务器上的某一个文件的内容插入到另一个文件中去,最常见的应用是将一个网站的公用设计部分写入一个小的HTML文件当中,这个文件可以被Web页面所包含。对这个小文件的所有变动立即会影响所有包含它的文件。就象一个PHP脚本一样,Web的浏览者不需要对此有所了解,因为Web服务器会在将被请求的页面发送到浏览器之前做好所有的工作。

PHP有一个函数可以提供类似的功能。但是在包含文件中除了可以含有正式的HTML以及其它静态的内容以外,还可以含有脚本程序。让我们来看看下面这个例子:

!-- include-me.inc --?phpecho( PSoylent Green is made from people! );? 

在上面的文件中,include-me.inc包含了一些简单的PHP代码。请注意这个文件的文件名的结尾是.inc,而不是.php。这表示这个文件与一般的Web服务器所认为的PHP脚本有所不同。这会保证这个文件只有被插入到一个.php文件中才会被执行,此外这也有助于你分辨你的PHP
Web页面和PHP包含文件。

你还需要下面的文件:

!-- testinclude.php --HTMLHEADTITLE Test of PHP Includes /TITLE/HEADBODY?phpinclude(include-me.inc);?/BODY/HTML

这个文件和我们以前使用过的PHP脚本差不多,它的扩展名是.php
extension(如果你的服务器需要,也可以是.php3)。请注意对include函数的调用。我们指定了我们要插入的文件名(include-me.inc),PHP会试图获取这个文件并将其插入到现在的文件中以取代include。将这两个文件都上载到你的Web服务器(或者将它们拷贝到你的Web服务器的文档文件夹,如果你正在这个服务器上工作的话),然后用你的浏览器装载testinclude.php。你会看到一个包含我们的插入文件信息的Web页面的,一切和你当初预料的没有什么两样。

如果这个例子不能工作,你也许需要配置你的php.ini文件中的include_path选项。用你常用的文本编辑器打开这个文件找到以include_path开始的一行(一般是在文件的中间)。就象你所熟悉的系统PATH环境变量的设置一样,这里包含了一个目录的列表,PHP会从这些位置寻找你所要包含的文件。它应该包括.(当前目录)。

根据你的服务器的操作系统是Windows还是UNIX,你也许需要确定是否要用到引号:

发表评论

电子邮件地址不会被公开。 必填项已用*标注