博文
利用asp将文本文件导入到access数据库中(2007-07-25 09:37:00)
摘要:利用asp将文本文件导入到指定的数据库的某个字段中去,主要用到的是fso文件操作和数据库插入代码。index.asp<!--#include file="conn.asp"--><%'On Error Resume next Server.ScriptTimeOut = 9999 i=0'创建一个FileSystemObject对象的事例Set MyFileObject=Server.CreateObject("Scripting.FileSystemObject")ctime=Timerthing=server.mappath("./aaa.txt") Call getEmail(thing)response.write "已经生成"&i&"条记录,用时"&(Timer-ctime)&"秒"%></Body></HTML><%Function getemail(filepath)Set MyTextFile=MyFileObject.OpenTextFile(filepath)While not MyTextFile.AtEndOfStream txt=Trim(MyTextFile.ReadLine) sql="insert into bbbb(aaaa) values('"&txt&"')" rs.open sql,conn,1,1 i=i+1WendMyTextFile.CloseEnd Function%>
aaa.txt中的内容是1111111111111222222222222qqqqqqqqqqqqqqq3434eeeeeeeeeeeeee
conn.asp为数据库连接代码<%set rs=server.CreateObject("adodb.recordset")db="./aaaa.mdb"set conn=server.CreateObject("adodb.connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)conn.open ......
jmail发送邮件函数(2007-07-22 15:51:00)
摘要:smtp为邮件服务器名user为smtp邮件服务器上的邮件地址pwd为smtp邮件服务器上的邮件的密码sendto为要发送的邮件地址form发件人名subject为主题body为内容function sendmail(smtp,sendto,from,user,pwd,subject,body)Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象 jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j jmail.logging = true '启用邮件日志 '加上如下语句,否则还有可能出现乱码的可能性: jmail.Charset = "GB2312" '邮件的文字编码为国标 jmail.ContentTransferEncoding = "base64" jmail.Encoding = "base64" jmail.ISOEncodeHeaders = false
'jmail.ContentType = "text/html" '邮件的格式为HTML格式 -- 有此句则发送附件时为乱码jmail.AddRecipient sendto '邮件收件人的地址 jmail.From = from '发件人的E-MAIL地址 jmail.MailServerUserName = user '登录邮件服务器所需的用户名 jmail.MailServerPassword = pwd '登录邮件服务器所需的密码 jmail.Subject = subject '邮件的标题 jmail.Body = body '邮件的内容 'jmail.AddAttachment Server.MapPath("login.gif")'附件--不能有此句:jmail.ContentType = "text/html"'Jmail.AddAttachment Server.MapPath("b.rar") '否则附件会变成乱码jmail.Priority = 3 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值 if jmail.send(smtp)=false then'执行邮......
利用asp获取客户端真实的IP地址(2007-06-27 09:26:00)
摘要:客户端IP有两种情况,一个是代理服务器上网的,另一种是直接上网的,所以要获取客户端IP也需要分开来获取。<%Function getIP() Dim strIPAddr If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") >0 Then strIPAddr = Request.ServerVariables("REMOTE_ADDR") ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1) ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1) Else strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR") End If getIP = Trim(Mid(strIPAddr, 1, 30)) End Function %>......
给字符串中的网址加上超连接(2007-06-18 11:46:00)
摘要:<%Function regExReplace(sSource,patrn, replStr) Dim regEx, str1 str1 = sSource Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = True regExReplace = regEx.Replace(str1, replStr) End Function
Function RegExpTest(strng,s)strng1=strngDim regEx, Match, Matches ' 建立变量。Set regEx = New RegExp ' 建立正则表达式。regEx.Pattern = s ' 设置模式。regEx.IgnoreCase = True ' 设置是否区分大小写。regEx.Global = True ' 设置全局替换。Set Matches = regEx.Execute(strng) ' 执行搜索。For Each Match in Matches ' 遍历 Matches 集合。strng1=regExReplace(strng1,Match.value,"<a href="""&Match.value&""" target=""_blank"">"&Match.Value&"</a>")NextRegExpTest = strng1end Function
str="http://www.yahoo.com.cn雅虎http://www.sina.com.cn新浪http://hao123.com好123"s="((http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])*)"response.write RegExpTest(str,s) %>......
动态生成文本框并获取其中的内容(2007-05-30 11:17:00)
摘要:<form name="form1" method="post" action="1.asp"><input type="text" name="num" size=5><input type="button" value="生成文本框" onclick="f()"><div id="test"></div><input type="submit" value="提交"></form><script language="javascript">function f(){ num=document.form1.num.value; var s=''; for(i=1;i<=num;i++) { s=s+"<input type=\"text\" name=\"text"+i+"\"><br>"; } document.getElementById("test").innerHTML=s;}</script>1.asp<% num=request.Form("num") For i=1 To num a=request.form("text"&i) response.write "text"&i&"="&a&"<br>" next%>......
asp无组件文件上传(2007-05-28 09:38:00)
摘要:文件上传组件:upload.asp<% Dim stream1,stream2,istart,iend,filename istart=1 vbEnter=Chr(13)&Chr(10)
function getvalue(fstr,foro,paths)'fstr为接收的名称,foro布尔false为文件上传,true 为普通字段,path为上传文件存放路径 if foro then getvalue="" istart=instring(istart,fstr)
istart=istart+len(fstr)+5 iend=instring(istart,vbenter+"-----------------------------") if istart>5+len(fstr) then getvalue=substring(istart,iend-istart) else getvalue="" end if else istart=instring(istart,fstr) istart=istart+len(fstr)+13 iend=instring(istart,vbenter)-1 filename=substring(istart,iend-istart) filename=getfilename(filename) 'CheckFileExt(fstr)''''''''''''''''''''''''''''''''''''''''''''''......
asp中获取字符串中的时间字符串(2007-05-14 14:41:00)
摘要:由于时间在字符串中的值不一致性,会出现以下几中格式的字符串,没有办法用left,right,mid直接来获取,所以想到用正则表达式来实现这个功能(只要将这个功能改一下,就可以获取其他格式的字符串。<%'str = "2007-01-01 12:12:12 问题 1234"'str="sdfd 01-01 12:12:12 问题" 'str="2007-01-01 12:12sdfdf" 'str="qqwq 01-01 13:14dddd"str="a2007-01-01sdddd"
patrn="(\d+[-\:\s])+\d+"Response.Write(RegExpTest(patrn,str))
Function RegExpTest(patrn, strng)Dim regEx, Match, Matches ' 建立变量。Set regEx = New RegExp ' 建立正则表达式。regEx.Pattern = patrn ' 设置模式。regEx.IgnoreCase = True ' 设置是否区分大小写。regEx.Global = True ' 设置全局替换。Set Matches = regEx.Execute(strng) ' 执行搜索。For Each Match in Matches ' 遍历 Matches 集合。RetStr = Match.ValueNextRegExpTest = RetStrend Function%>......
截字符串,汉字一个算两个字符,英文算一个字符(2007-05-09 09:03:00)
摘要:通常在显示新闻标题的时候,有时候标题中会出现汉字和英文共存,直接用left截字符串会出现两条新闻标题长度不一,使用这个函数可以解决这个问题。<%'**************************************************'函数名:gotTopic'作 用:截字符串,汉字一个算两个字符,英文算一个字符'参 数:str ----原字符串' strlen ----截取长度'返回值:截取后的字符串'**************************************************Function gotTopic(ByVal str, ByVal strlen) If str = "" Then gotTopic = "" Exit Function End If Dim l, t, c, i, strTemp str = Replace(Replace(Replace(Replace(str, " ", " "), """, Chr(34)), ">", ">"), "<", "<") l = Len(str) t = 0 strTemp = str strlen = CLng(strlen) For i = 1 To l c = Abs(Asc(Mid(str, i, 1))) I......
求字符串长度,汉字算两个字符,英文算一个字符(2007-05-08 17:59:00)
摘要:<%'**************************************************'函数名:strLength'作 用:求字符串长度。汉字算两个字符,英文算一个字符。'参 数:str ----要求长度的字符串'返回值:字符串长度'**************************************************Function strLength(str) On Error Resume Next Dim WINNT_CHINESE WINNT_CHINESE = (Len("中国") = 2) If WINNT_CHINESE Then Dim l, t, c Dim i l = Len(str) t = l For i = 1 To l c = Asc(Mid(str, i, 1)) If c < 0 Then c = c + 65536 If c > 255 Then &n......
实现登录后才能下载(2007-04-27 13:31:00)
摘要:通常想实现用户登录后,才可以下载某此文件,可以用cookies和session来解决用户是否登录,然后根据cookies和session里面记录的值来确定是否给予下载。但是这样做有一个缺点:如果别人知道那个文件的路径,在IE中直接输入路径地址就可以下载了,这样的结果并不是我们想要的。首先,我们要将保存文件的那个文件夹名字前加上#,为了防止从IE中下载此文件。index.html文件(用来提供下载)<a href="down.asp?u=789.rar">下载</a>
down.asp<!--#include file="download.asp"--><%Dim uu=request.querystring("u")downloadFile "./#soft/123.rar", u%>download.asp<%'author : lael 2006-2-20function downloadFile(downfile, downname)on error resume next
dlfile = server.MapPath(downfile)
Response.Buffer = TrueResponse.Clear
Set oStream = Server.CreateObject("ADODB.Stream")oStream.OpenoStream.Type = 1
Set fso = Server.CreateObject("Scripting.FileSystemObject")if not fso.FileExists(dlfile) then set fso = nothing oStream.Close Set oStream = nothing downloadFile = "error:1" exit functionend ifSet ofile = fso.GetFile(dlfile)filesize = ofile.size
oStream.LoadFromFile(dlfile)......
