仓酷云

标题: ASP编程:使用ASP的文件操纵完成用户办理 [打印本页]

作者: 再见西城    时间: 2015-1-16 23:23
标题: ASP编程:使用ASP的文件操纵完成用户办理
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。用户办理复杂、好用、开辟效力初等等是ASP的长处,可是其体系操纵方面如文件操纵
等则是对照微小的。要想完成这方面的功效,只要接纳挪用组件的举措。
FileSystemObject工具就是一个例子。ASP安装后,该工具就在体系中注册了。
不外其功效也十分一样平常,只能操纵文本范例的文件。不外也能够满意我们的一些
必要了。头几天我的一个同事的一个伴侣在网上请求了一个撑持ASP的空间,想
完成诸如用户注册、信息修正、用户刊出等功效,又不想用数据库来完成,由于
要举行一年夜堆的设置。实在使用FileSystemObject操纵文本文件就能够完成。
完成的思绪是:为每项信息创建一个文本文件,如姓名、性别、岁数等。所
有效户的统一个信息项都保留在绝对应的文件中。如每一个用户的姓名信息都保留
在姓名文件中。而且每一个用户的信息都以特别的标记入手下手和停止,读失信息时就
依据这些标记举行定位。比方入手下手标记用“`用户名`”,停止标记用“`e`”。
只需不是经常使用的字符串,就能够作为定位的标记。别的,另有两个文件是必不成
少的:那就是用户名、暗码文件。判别用户是不是存在、用户上岸等就是使用这两
个文件完成的。上面先容的就是自己的详细完成代码。
在程序编写前我先弄了弄了一个大众的函数单位fun.inc,这内里是一些对照
通用的函数,供别的的ASP文件包括并挪用。
起首是些用户信息的函数,包含用户名、文件名、用户信息三个参数,都是
字符串范例,个中用户信息还能够是多行。代码以下:

SubWriteUser(UserName,FileName,UserInfo)
Dimfs,f
Setfs=CreateObject("Scripting.FileSystemObject")
Iffs.FileExists(FileName)=FalseThen
fs.CreateTextFile(FileName)
EndIf
以增加体例翻开文件
Setf=fs.OpenTextFile(FileName,8)
用户信息入手下手标记
f.WriteLine("`"&UserName&"`")
f.WriteLine(UserInfo)
用户信息停止标记
f.WriteLine("`e`")

f.Close
Setf=Nothing
Setfs=Nothing
EndSub

读用户信息的函数只必要两个参数:用户名和文件名,用户的信息作为函数
的前往值,完成的思绪就是寻觅入手下手、停止标记,并把它们之间的信息前往。代
码以下:

FunctionReadUser(UserName,FileName)
Dimi
Dims
Dimret
Dimfs,f

Setfs=CreateObject("Scripting.FileSystemObject")
iffs.FileExists(FileName)=falsethen
Setfs=Nothing
ReadUser=""
ExitFunction
endif
以只读体例翻开文件
Setf=fs.OpenTextFile(FileName,1)

DoWhilef.AtEndOfStreamTrue
s=f.ReadLine
Ifs="`"&UserName&"`"Then
s=f.ReadLine
ret=""
DoWhiles"`e`"
ifret=""then
ret=ret+s
else
ret=ret+Chr(13)&Chr(10)+s
endif
s=f.ReadLine
Loop
ExitDo
EndIf
Loop

f.Close
Setf=Nothing
Setfs=Nothing
ReadUser=ret
EndFunction

上面是删除用户信息的函数,一样包含用户名和文件名两个参数。程序逐行
读取对应文件,假如别的用户的信息,则保留在一个字符串变量中,不然不举行
保留,然后用变量的内容重写该文件。代码以下:

SubDeleteUser(UserName,FileName)
Dimi
Dims
Dimtmp
Dimfs,f

Setfs=CreateObject("Scripting.FileSystemObject")
iffs.FileExists(FileName)=falsethen
Setfs=Nothing
ExitSub
endif
Setf=fs.OpenTextFile(FileName,1)
tmp=""
DoWhilef.AtEndOfStreamTrue
s=f.ReadLine
Ifs"`"&UserName&"`"Then
iftmp=""then
tmp=tmp+s
else
tmp=tmp+Chr(13)&Chr(10)+s
endif
Else
DoWhiles"`e`"
s=f.ReadLine
Loop
EndIf
Loop

f.Close
Setf=fs.CreateTextFile(FileName,True)
f.WriteLinetmp

f.Close
Setf=Nothing
Setfs=Nothing
EndSub

修正用户信息函数和写用户信息函数一样,带有效户名、文件名、用户信息
三个参数,只不外该函数的用户信息是更新后的信息。程序的完成和删除用户的
历程差未几,删除用户不保留要删除用户的信息到变量,修正用户则把更新后信
息保留到变量中取代本来的信息。代码以下:

SubModifyUser(UserName,FileName,NewUserInfo)
Dimi
Dims
Dimtmp
Dimfs,f

Setfs=CreateObject("Scripting.FileSystemObject")
iffs.FileExists(FileName)=falsethen
Setfs=Nothing
ExitSub
endif
Setf=fs.OpenTextFile(FileName,1)
tmp=""
DoWhilef.AtEndOfStreamTrue
s=f.ReadLine
Ifs"`"&UserName&"`"Then
iftmp=""then
tmp=tmp+s
else
tmp=tmp+Chr(13)&Chr(10)+s
endif
Else
DoWhiles"`e`"
s=f.ReadLine
Loop
iftmp=""then
tmp=tmp+"`"&UserName&"`"
else
tmp=tmp+Chr(13)&Chr(10)+"`"&UserName&"`"
endif
tmp=tmp+Chr(13)&Chr(10)+NewUserI</p>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件
作者: 愤怒的大鸟    时间: 2015-1-20 09:45
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
作者: 柔情似水    时间: 2015-1-25 22:04
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
作者: 透明    时间: 2015-2-4 06:05
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 仓酷云    时间: 2015-2-9 17:00
不能只是将它停留在纸上谈兵的程度上。
作者: 小女巫    时间: 2015-2-27 12:05
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者: 山那边是海    时间: 2015-3-9 03:01
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
作者: 小魔女    时间: 2015-3-16 20:12
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者: 乐观    时间: 2015-3-23 00:11
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2