用FoxWeb在网上快速发布你的FOXPRO数据库
【打印文章】
作者:骆文先
FoxWeb是微软专门为发布FOXPRO系列数据库而开发的一个CGI接口,如果你熟悉Foxpro编程,你只要了解一下如何使用FoxWeb就可以快速开发出令人满意的网站了(也许你只要看完本文就知道如何做了)!当然,你必须要有一定的HTML基础!
下面介绍如何使用FoxWeb来开发WEB程序!
1、系统的安装配置
首先,你可以从www.FoxWeb.com下载安装文件,试用版可以免费使用30天。安装之前,你必须先安装VFP3.0以上的版本,再安装FoxWeb,安装很简单,安装完成后,启动FoxWebControlCenter,你只要简单配置一些基本的参数就可以了!
Admin.Name:管理员的名字.它将被保存在CGI.AdminName中。
Admin.E-Mail:管理员的EMAIL.它将被保存在CGI.Admin中。
PRGTimeout:超时时间,它指示服务器在返回一错误结果给用户之前等待用户程 序结束的时间(秒)。
VFP.EXE:VFP.EXE的绝对路径。
ProgramRoot:用户程序根目录的绝对路径。你的程序应该放在这相目录下。
TotalChannels:总FoxWeb频道数。它由服务器的内存和CPU数来决定,在单CPU的服务器上,最好不要超过4个。
其它参数你按默认值就可以了!
2、怎样提取用户端信息。
用户端的信息包括两部分:HTTP数据项和表单数据项。HTTP数据项包括客户端和服务器端的信息,如客户端IP,服务器名等,它们被放在对象CGI中,你只要用CGI.NameOfParameter就可以引用对应的值,如CGI.RemoteAddress将返回客户端的IP地址!
表单数据项包括了用户输入的信息,要取出这些值,用函数FormField()就可以了,例如,FormField("LastName")将返回表单中输入框名为LastName的值。
3、怎样生成并返回结果给用户。
在你的程序退出以后,FoxWeb将寻找公用变量html_out,并把它的内容返回给浏览器,因此你只要把你要返回的结果写入变量html_out就可以了!返回结果的第一行必须为返回结果的MIME类型,且后续一空行。例如,对通常的HTML输出,必须在返回结果的第一行写下:Content-type:text/html
FoxWeb提供一种很方便生成返回结果的方法,你可以把你要生成的结果按规定的格式生成模板,并保存在数据库或者文件中,程序中,先生成模板中所有的变量的值,然后再用FoxWeb提供的函数MergeTxt()就可以生成结果了,该函数会自动把模板中的变量(“<<”和“>>”之间的内容)替换为该变量的实际值。
4、URL的结构。
调用FoxWeb程序的URL的结构如下:
http://ServerName/cgi-shl/FoxWeb.exe/ProgramName?QueryString
其中,ServerName是你的WEB服务器的名称,Cgi-shl是你的CGI目录,ProgramName是你的程序名(不带.prg后缀),可以是相对路径,也可以是绝对路径。另一种ProgramName格式是"Procedure@Program",它对应FoxPro的"DOprocedureINprogram"命令.QueryString 是你想放到变量CGI.QueryString中的值。如:
"http://myserver.com/cgi-shl/FoxWeb.exe/list@c:\prg\customer?all"
将调用"DOlistINc:\prg\customer",也就是运行prg文件"C:\PRG\CUSTOMER" 中的过程"LIST",CGI.QueryString的值将被设置为字符串"all"。
5、全局过程。
FoxWeb提供两个局过程,FW_ENTER.PRG和FW_EXIT.PRG,它们必须放在程序的根目录(ProgramRoot)中。它们在每个FoxWeb请求中都被执行,FW_ENTER.PRG在用户程序执行之前执行,如果它的返回结果为.F.,则用户程序将不被执行。FW_EXIT.PRG则在用户程序执行完后执行,因此这两个全局过程一般用于设置系统环境或者对访问作安全控制等。
下面是一个简单的例子,它只是简单地提取出用户输入的值,并返回该值给用户:
包括一表单的主页a.html如下:
< html>
< head>
< title>test< /title>
< /head>
< body>
< form action="/cgi-bin/FoxWeb.exe/test" method="POST">请输入你的姓名:
< input type="text" name="name">
< input type="Submit" name="ok" value=" 确定">
< /form>
< /body>
< /html>
用户程序test.prg如下:
M.Name=alltrim(formField('name'))&&取出用户输入的值
html_out=MergeTxt(ReadFile("moban.txt"))&&返回结果给用户return
模板文件moban.txt如下:
Content-type:text/html
< HTML>
< HEAD>
< TITLE>输入结果< /TITLE>
< /HEAD>
< BODY>
你的姓名是:<< m.name>>
你的IP是:<< cgi.remoteaddress>>
< /BODY>
< /HTML>
如果用户输入的姓名为李小龙,则用户将收到如下页面:
< HTML>
< HEAD>
< TITLE>输入结果< /TITLE>
< /HEAD>
< BODY>
你的姓名是:李小龙
你的IP是 :202.103.111.85
< /BODY>
< /HTML>
通过以上介绍,你应该对FoxWeb的用法有一个大概的了解了吧,但要真正用它开发强大的应用程序,这还是不够的。要了解更详细的信息,请参考www.FoxWeb.com。里面包括了函数参考、文件上载、程序调试、优化性能及程序安全等更详细的信息。
(全文完)
FoxWeb是微软专门为发布FOXPRO系列数据库而开发的一个CGI接口,如果你熟悉Foxpro编程,你只要了解一下如何使用FoxWeb就可以快速开发出令人满意的网站了(也许你只要看完本文就知道如何做了)!当然,你必须要有一定的HTML基础!
下面介绍如何使用FoxWeb来开发WEB程序!
1、系统的安装配置
首先,你可以从www.FoxWeb.com下载安装文件,试用版可以免费使用30天。安装之前,你必须先安装VFP3.0以上的版本,再安装FoxWeb,安装很简单,安装完成后,启动FoxWebControlCenter,你只要简单配置一些基本的参数就可以了!
Admin.Name:管理员的名字.它将被保存在CGI.AdminName中。
Admin.E-Mail:管理员的EMAIL.它将被保存在CGI.Admin中。
PRGTimeout:超时时间,它指示服务器在返回一错误结果给用户之前等待用户程 序结束的时间(秒)。
VFP.EXE:VFP.EXE的绝对路径。
ProgramRoot:用户程序根目录的绝对路径。你的程序应该放在这相目录下。
TotalChannels:总FoxWeb频道数。它由服务器的内存和CPU数来决定,在单CPU的服务器上,最好不要超过4个。
其它参数你按默认值就可以了!
2、怎样提取用户端信息。
用户端的信息包括两部分:HTTP数据项和表单数据项。HTTP数据项包括客户端和服务器端的信息,如客户端IP,服务器名等,它们被放在对象CGI中,你只要用CGI.NameOfParameter就可以引用对应的值,如CGI.RemoteAddress将返回客户端的IP地址!
表单数据项包括了用户输入的信息,要取出这些值,用函数FormField()就可以了,例如,FormField("LastName")将返回表单中输入框名为LastName的值。
3、怎样生成并返回结果给用户。
在你的程序退出以后,FoxWeb将寻找公用变量html_out,并把它的内容返回给浏览器,因此你只要把你要返回的结果写入变量html_out就可以了!返回结果的第一行必须为返回结果的MIME类型,且后续一空行。例如,对通常的HTML输出,必须在返回结果的第一行写下:Content-type:text/html
FoxWeb提供一种很方便生成返回结果的方法,你可以把你要生成的结果按规定的格式生成模板,并保存在数据库或者文件中,程序中,先生成模板中所有的变量的值,然后再用FoxWeb提供的函数MergeTxt()就可以生成结果了,该函数会自动把模板中的变量(“<<”和“>>”之间的内容)替换为该变量的实际值。
4、URL的结构。
调用FoxWeb程序的URL的结构如下:
http://ServerName/cgi-shl/FoxWeb.exe/ProgramName?QueryString
其中,ServerName是你的WEB服务器的名称,Cgi-shl是你的CGI目录,ProgramName是你的程序名(不带.prg后缀),可以是相对路径,也可以是绝对路径。另一种ProgramName格式是"Procedure@Program",它对应FoxPro的"DOprocedureINprogram"命令.QueryString 是你想放到变量CGI.QueryString中的值。如:
"http://myserver.com/cgi-shl/FoxWeb.exe/list@c:\prg\customer?all"
将调用"DOlistINc:\prg\customer",也就是运行prg文件"C:\PRG\CUSTOMER" 中的过程"LIST",CGI.QueryString的值将被设置为字符串"all"。
5、全局过程。
FoxWeb提供两个局过程,FW_ENTER.PRG和FW_EXIT.PRG,它们必须放在程序的根目录(ProgramRoot)中。它们在每个FoxWeb请求中都被执行,FW_ENTER.PRG在用户程序执行之前执行,如果它的返回结果为.F.,则用户程序将不被执行。FW_EXIT.PRG则在用户程序执行完后执行,因此这两个全局过程一般用于设置系统环境或者对访问作安全控制等。
下面是一个简单的例子,它只是简单地提取出用户输入的值,并返回该值给用户:
包括一表单的主页a.html如下:
< html>
< head>
< title>test< /title>
< /head>
< body>
< form action="/cgi-bin/FoxWeb.exe/test" method="POST">请输入你的姓名:
< input type="text" name="name">
< input type="Submit" name="ok" value=" 确定">
< /form>
< /body>
< /html>
用户程序test.prg如下:
M.Name=alltrim(formField('name'))&&取出用户输入的值
html_out=MergeTxt(ReadFile("moban.txt"))&&返回结果给用户return
模板文件moban.txt如下:
Content-type:text/html
< HTML>
< HEAD>
< TITLE>输入结果< /TITLE>
< /HEAD>
< BODY>
你的姓名是:<< m.name>>
你的IP是:<< cgi.remoteaddress>>
< /BODY>
< /HTML>
如果用户输入的姓名为李小龙,则用户将收到如下页面:
< HTML>
< HEAD>
< TITLE>输入结果< /TITLE>
< /HEAD>
< BODY>
你的姓名是:李小龙
你的IP是 :202.103.111.85
< /BODY>
< /HTML>
通过以上介绍,你应该对FoxWeb的用法有一个大概的了解了吧,但要真正用它开发强大的应用程序,这还是不够的。要了解更详细的信息,请参考www.FoxWeb.com。里面包括了函数参考、文件上载、程序调试、优化性能及程序安全等更详细的信息。
(全文完)
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】