博文

利用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=Timer
thing=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+1
Wend
MyTextFile.Close
End Function
%> aaa.txt中的内容是
1111111111111
222222222222
qqqqqqqqqqqqqqq
3434
eeeeeeeeeeeeee conn.asp为数据库连接代码
<%
set rs=server.CreateObject("adodb.recordset")
db="./aaaa.md......

阅读全文(4398) | 评论:0

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")      ......

阅读全文(3530) | 评论:0

利用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
%>......

阅读全文(3530) | 评论:0

给字符串中的网址加上超连接(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=strng
Dim 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>")
Next
RegExpTest = strng1
end 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.w......

阅读全文(3596) | 评论:0

动态生成文本框并获取其中的内容(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
%>......

阅读全文(4373) | 评论:0

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=getf......

阅读全文(8922) | 评论:18

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.Value
Next
RegExpTest = RetStr
end Function
%>......

阅读全文(2836) | 评论:0

截字符串,汉字一个算两个字符,英文算一个字符(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, "&nbsp;", " "), "&quot;", Chr(34)), "&gt;", ">"), "&lt;", "<")
    l = Len(str)
    t = 0
    strTemp = str
    strlen = CLng(strlen)
    For i = 1 To l
     &......

阅读全文(4060) | 评论:0

求字符串长度,汉字算两个字符,英文算一个字符(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
......

阅读全文(5169) | 评论:1

实现登录后才能下载(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 u
u=request.querystring("u")
downloadFile "./#soft/123.rar", u
%>

download.asp
<%
'author : lael 2006-2-20
function downloadFile(downfile, downname)
on error resume next dlfile = server.MapPath(downfile) Response.Buffer = True
Response.Clear Set oStream = Server.CreateObject("ADODB.Stream")
oStream.Open
oStream.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 ......

阅读全文(4280) | 评论:2