php动态数据源 php调用动态库

php可以设置动态网页吗

据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()

fopen(),fclose()

这些函数处理位于本地服务器上的文件中的数据,比方说配置文件。

常见的数据源和处理它们的PHP函数

在这篇文章“教程:PHP起步中,”我们观看了一个演示的脚本,这个脚本要求用户输入他们最喜欢的数字。根据用户输入的结果,我们在Web页面上显示一条消息。这就是一个由用户驱动的动态Web内容的例子。从Web表单返回的结果将决定显示的内容。一个更复杂的例子是“点击流程”应用程序,这个程序能够根据一个用户在Web站点上访问过的页面来决定向他或者她发送什么广告。

一旦数据已经输入,不管它是由用户或者其它的方式输入的,将会被保存在一个数据库中并在以后重新使用。如果它被用来决定显示的内容,那么这些内容将可以被认为是“由数据库驱动的动态内容。”我们将在下一篇文章中更仔细的看看这种类型的动态信息。目前,让我们先察看一个由文件驱动的动态内容的简单的PHP脚本的例子。我们将使用基于一个配置文件的逻辑来决定在Web页面上应该显示什么样的页面风格和字体。我们选择的页面风格将会在用户请求Web页面的时候显示出来。(这里我想就包括文件的例子给你提个醒:你真的应该在这个例子中为完成要求的功能而使用风格页。)

例子程序:Display.php

Display脚本使用一个独立的配宴裂亩置文件来包含变量值和几个含有HTML的变量部分的包括文件。虽然这看起来不是特别动态,但是你能够轻易的要求用户使用Web表单来创建一个配置文件并使用一定的逻辑来判断应该加载哪一个配置文件,等等。(我们在“理解PHP的函数和类”这篇文章中所作的讨论将帮助你完成这个工作。)

由于本文的目的所限,我们将跳过这方面的处理过程并尽量使它简化。表A展示了我们的主页面,以及你通过浏览器调用的页面,Display.php。(PHP代码将用粗体进行显示。)

表A

这段简单的代码必须做三件事情:

使用PHPinclude()函数来包含!--display.php这个Web页面的风格由一个配置文件决定--

html

head

titleMoodPage/title

/head

?php

include("displayconf.php");

$required_file=$display.".php";

require$required_file;

?

brbr

centerThisisthebest"moodpage"ever!/center

/font

/body

/html

Displayconf.php中的变量并对它们进行求值。

创建一个表示用户请求的文件名的变量。在我们这个例子中,Displayconf.php文件里定义的变量$display被求值,然后加上.php后缀。(这是由我们的逻辑完成的。)

使用PHP的require()函数显示正确的包含文件里的内容。

你应该注意到在我们的例子中,PHPrequire()函数和include()函数是完全可以互换的。这两个函数之间主要的区别在于目标文件处理的方式不同。一个require()语句将会由它所调用的文件替换。这意味着在一个循环当中,远程的文件只会被调用一次。而另一方面,在每次遇到include()函数的时候,它都会被重新求值。这意味着在一个循环的过程中,文件将在每一次循环过程中都被访问一次,而且在包括文件中设置的变量每次都会更新。

在这个例子中,我试图讲清楚什么时候使用什么函数合适。对于文件Displayconf.php,很有可能它里面的变量值已经改变。毕竟,这是一个配置文件。因此,我选择了include()函数。而另一方面,$required文件在交互的过程中很有可能不会改变。如果用户请求的是不同的文件体,那么我们有可能会创建一个新的文件再把它包括进来,所以我使用require()函数。

高级用户可能希望看看PHP的手册来了解更多的关于函数require_once()和include_once()的信息以便能够对文件处理和配置文件变量的管理进行更好的控制。

表B显示了我们的配置文件,Displayconf.php。(为了简单化的目的,我们将把所有的文件放在和Web服务器相同的目录下。)我们在这里要做的就是将$display变量设置成一个可选的值。

表B

?php#displayconf.php

#display.php的配置文件

#-------------------------------------------------

#将变量$display设置成下列值之一:

#happy,sad,或者generic

$display="happy";

?

最后我们需要一些内容文件--对应配置文件中的每一个选项。因为这些内容都是静态的HTML,所以我们不需要在文件里加上PHP脚标。当你在PHP里使用include()或者require()函数的时候,被调用的文件在处理过程开始的时候被跳过然后在处理结束的时候被加进来。

"happy"文件内容(happy.php)

bodybgcolor=pinktext=yellow

fontsize="+5"

"Sad"文件内容(sad.php)

bodybgcolor=bluetext=white

fontface="arial,helvetica"size="+5"

"Generic"文件内容(generic.php)

bodybgcolor=whitetext=black

fontface="courier"size="+5"

当你单击页面Display.php的时候,这个页面的外观和感受将会根据你在配置文件中输入的值而改变。

总结

在本文中,我们讨论了动态信息的基础知识并使用一个脚本来创建由文件驱动的动态内容。特别的是,我们使用include()和require()PHP函数来提取和发送我们的数据。

下面是一些最后的话。虽然我相信你一定熟悉WAIWeb编程指南,但是你也许还应该看看W3C对于动态内容所说的支配以及用户对它的访问能力。你可能还要看看PHP手册中的这一章“使用远程文件”来学习如何使用FTP来提取配置数据。

PHP连接数据库的几种方法

用ASP连接各种数据库的方法

一、ASP的对象存取数据库方法

在ASP中,用来存取数据库的对象统称ADO(Active Data Objects),主要含有三种对象:Connection、Recordset 、Command

Connection:负责打开或连接数据

Recordset:负责存取数据表

Command:负责对数据库执行行动查询命令

二、连接各数据库的驱动程序

连接各数据库可以使用驱动程序,也可以使用数据源,不洞孙过我建议大家使用驱动程序,因为使用驱动程序非常方便、简单,而使用数据源比较麻烦。

ODBC链接

适合数据库类型 链接方式

access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"

dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"

Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"

MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;"

MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"

Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"

MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"

OLEDB链接

适合的数据库类型 链接方式

access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;"

Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"

MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;"

MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties′text;FMT=Delimited′"

而我们在一般情况下使用Access的数据库比较多,在这里我建议大家连接Access数据库使用下面的方法:

dim conn

set conn = server.createobject("adodb.connection")

conn.open = "provider=microsoft.jet.oledb.4.0;" "data source = " server.mappath("../db/bbs.mdb")

其中../db/bbs.mdb是你的数据库存放的相对路径!缓闷如果你的数据库和ASP文件在同一目录下,你只纳哪链要这样写就可以了:

dim conn

set conn = server.createobject("adodb.connection")

conn.open = "provider=microsoft.jet.oledb.4.0;" "data source = " server.mappath("bbs.mdb")

有许多初学者在遇到数据库连接时总是会出问题,然而使用上面的驱动程序只要你的数据库路径选对了就不会出问题了。

基于html新闻发布系统设计与实现和基于php新闻系统设计与实现有没有区别?

基于HTML和基于PHP的新闻系统设计和实现存在很大的区别。HTML是一种标记语言,用于描述和定义网页的结构和内容,而PHP是一种脚本语言,用于动态生成网页内容和实现网站的交互功能。

具体来说,基于HTML的新闻系统通常是一个静态的网页,其中包含固定的新闻内容和页面布局,更新新闻需要手动编辑HTML代码。这种系统比较简单,易于开发和维护,但缺乏交互性和动态性,更新内容较为繁琐。

而基于PHP的新闻系统则可以实现更加复杂和动态的功能,如用户登录、评论、搜索、发布等。PHP可以通过连接数据库或其他数据源,动态地生成网页内容和更新新铅枝闻。这种系统槐晌敏需要编写PHP脚本和连接数据库,相对比较复杂,但具有更谨蠢好的扩展性和灵活性。

总之,基于HTML的新闻系统比较简单,适合于小型网站和简单的新闻发布需求;而基于PHP的新闻系统则更为灵活和强大,适合于需要更多功能和交互性的大型网站。


分享标题:php动态数据源 php调用动态库
分享URL:http://myzitong.com/article/ddppdie.html