-
vfp教程之用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。里面包括了函数参考、文件上载、程序调试、优化性能及程序安全等更详细的信息。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式