据Merriam-WebsterOnline地解释,动态一词的意思是网页的内容由"通常是连续的和实时生成的活动或者改变的信息组成."所以呢当我们谈论动态数据的时候,我们也就是在谈论作为Web页面发送给用户的信息是由不同的源数据组合而成的.这与静态网页的概念是相对的,静态网页的内容并不依赖用户输入的数据而改变而且通常是直接解析给用户.Web页面上的动态信息有三种主要的类型:
动态数据--在一个Web页面里产生的变量.
动态Web页面--整个Web页面都是动态生成的.
动态内容--Web页面的一部分是动态生成的.
你如果希望对动态内容产生的过程进行细微的控制,就象动态数据的那种类型一样,那么数据处理的过程就会复杂一些.而如果你想生成大范围的信息,就象动态Web页面的生成那样,那么程序的逻辑就会变得复杂.动态内容的生成是这两种方式的折衷,它能够让我们使用两个很有用的PHP函数,include()和require().
要记住,你在后端加入的逻辑越多,那么你的Web站点的性能将会损失得越严重.幸运的是,PHP能够很流畅的进行预处理过程,所以当我在处理动态内容和数据的时候都尽可能多的使用PHP的功能.
数据源和PHP功能
所有的动态内容都有一个共同点:它们从一个原始页面以外的数据源而来.图A列出了一些常见的数据源以及用来处理它们的相应的PHP函数.
FigureA
数据源
PHP函数
注释
User
$HTTP_POST_VARS
$HTTP_GET_VARS
这些函数处理由用户通过Web表单直接输入的数据.
Database(localorremote)
dbtype_connect()
dbtype_pconnect()
dbtype_close()
dbtype_function()
example:
mysql_fetch_array()
这些都只是PHP许多数据库访问函数中的一部分,许多函数是为每个不同的数据库特别编写的.你能够在PHP函数参考手册里找到这些函数的完整列表.
Remotefile
fopen(),fclose()
fgets(),fputs()
这些函数处理一个远程服务器上文件中的数据,这个文件可以通过FTP访问.
Localfile
include(),require()
这些函数处理位于本地服务器上的文件中的数据,比方说配置文件.
常见的数据源和处理它们的PHP函数
一旦数据已经输入,不管它是由用户或者其它的方式输入的,将会被保存在一个数据库中并在以后重新使用.如果它被用来决定显示的内容,那么这些内容将可以被认为是"由数据库驱动的动态内容."我们将在下一篇文章中更仔细的看看这种类型的动态信息.目前,让我们先察看一个由文件驱动的动态内容的简单的PHP脚本的例子.我们将使用基于一个配置文件的逻辑来决定在Web页面上应该显示什么样的页面风格和字体.我们选择的页面风格将会在用户请求Web页面的时候显示出来.(这里我想就包括文件的例子给你提个醒:你真的应该在这个例子中为完成要求的功能而使用风格页.)
例子程序:Display.php
Display脚本使用一个独立的配置文件来包含变量值和几个含有HTML的变量部分的包括文件.虽然这看起来不是特别动态,但是你能够轻易的要求用户使用Web表单来创建一个配置文件并使用一定的逻辑来判断应该加载哪一个配置文件,等等.(我们在"理解PHP的函数和类"这篇文章中所作的讨论将帮助你完成这个工作.)
由于本文的目的所限,我们将跳过这方面的处理过程并尽量使它简化.表A展示了我们的主页面,以及你通过浏览器调用的页面,Display.php.(PHP代码将用粗体进行显示.)
表A
这段简单的代码必须做三件事情:
html
head
titleMoodPage/title
/head
php
require$required_file;
brbr
centerThisisthebest"moodpage"ever!/center
/font
/body
/html
Displayconf.php中的变量并对它们进行求值.
使用PHP的require()函数显示正确的包含文件里的内容.
你应该注意到在我们的例子中,PHPrequire()函数和include()函数是完全可以互换的.这两个函数之间主要的区别在于目标文件处理的方式不同.一个require()语句将会由它所调用的文件替换.这意味着在一个循环当中,远程的文件只会被调用一次.而另一方面,在每次遇到include()函数的时候,它都会被重新求值.这意味着在一个循环的过程中,文件将在每一次循环过程中都被访问一次,而且在包括文件中设置的变量每次都会更新.
在这个例子中,我试图讲清楚什么时候使用什么函数合适.对于文件Displayconf.php,很有可能它里面的变量值已经改变.毕竟,这是一个配置文件.所以呢,我选择了include()函数.而另一方面,$required文件在交互的过程中很有可能不会改变.如果用户请求的是不同的文件体,那么我们有可能会创建一个新的文件再把它包括进来,所以我使用require()函数.
高级用户可能希望看看PHP的手册来了解更多的关于函数require_once()和include_once()的信息以便能够对文件处理和配置文件变量的管理进行更好的控制.
表B
#-------------------------------------------------
#happy,sad,或者generic
最后我们需要一些内容文件--对应配置文件中的每一个选项.因为这些内容都是静态的HTML,所以我们不需要在文件里加上PHP脚标.当你在PHP里使用include()或者require()函数的时候,被调用的文件在处理过程开始的时候被跳过然后在处理结束的时候被加进来.
"happy"文件内容(happy.php)
bodybgcolor=pinktext=yellow
"Sad"文件内容(sad.php)
bodybgcolor=bluetext=white
"Generic"文件内容(generic.php)
bodybgcolor=whitetext=black
当你单击页面Display.php的时候,这个页面的外观和感受将会根据你在配置文件中输入的值而改变.
总结
在本文中,我们讨论了动态信息的基础知识并使用一个脚本来创建由文件驱动的动态内容.特别的是,我们使用include()和require()PHP函数来提取和发送我们的数据.
手动修改成网页,或者动态分析文章数据比如一行一行的读入然后在行前行后自动添加空格换行段落等网页标记,平时我们用的回车,空格等网页是会抛弃的必须使用网页标记区分段落
要生成html页时,先读入html模板页,再查询数据库,把查询到标题,内容,日期的实际值替换模板中的特殊名称,并按规则命名另存这个文件.
编程软件:netbeans PHP版 或者 PDT
进阶知识1:OOPHP(面向对象PHP),smarty模板,PHP网页安全 等等
高阶知识:CGI,memcache、PHP内存管理 等等
附带知识:flash,flex,silverlight等
以上就是土嘎嘎小编为大家整理的php动态网页总结相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!