关闭

asp文件操作常用函数(from fisker)

333人阅读 评论(0) 收藏 举报
1, openDB
Access数据库连接
用法:openDB

2, closeDB
断开数据库连接
用法:closeDB

3, print
简化输出
用法:print "fisker"

4, endPrint
结束输出
用法:endPrint

5, ReadFile
使用adodb.stream读取文本文件
用法:ReadFile("fisker.txt")

6, SaveFile
保存文本文件
用法:SaveFile("I Love fisker. www.x2y2.com","fisker.txt")

7, FileExists
判断文件是否存在
用法:FileExists("i_love_fisker/yes_i_do.txt")

8, FolderExists
判断文件夹是否存在

9, CreateFolder
创建文件夹(今天特地写了下多级目录的创建)
用法:FolderExists("x2y2.com/fisker")

10, deleteFile
删除文件
用法:deleteFile("i_hate_fisker.txt")

11, deleteFolder
删除文件夹
用法:deleteFolder("i_hate_fisker/x2y2/com")


<%
Option Explicit        '强制对该文件中的所有变量进行显式声明
'-----------------------
'常用函数
'by fisker
'-----------------------
Dim conn,rs,i
Dim db:db="fisker.mdb"
'********************
'连接数据库
'********************
Sub openDB
    For i=0 To 4    '子目录下获得数据库地址,一般设置4足够了
        If FileExists(db) Then Exit For Else db="../"&db
    Next
    on error resume next
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
    set rs = Server.CreateObject("adodb.recordset")
End Sub
连sql数据库

//第一种写法:
MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3 

//第二种写法:(DSN连接)

MM_conn_STRING="DSN=BBS;UID=SA;PWD=12345"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3  // 3,3是修改、删除、增加开关!

//第三种写法:

MM_conn_STRING_own = "Driver={SQL Server};server=(local);uid=sa;pwd=11111;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING_own

'********************
'关闭数据库
'********************
Sub closeDB
    on error resume next
    set rs = nothing
    conn.close
    set conn = Nothing
End Sub

'********************
'简化输出
'********************
Sub print(outputString)
    Response.write outputString
End Sub

'********************
'结束输出
'********************
Sub endPrint
    Response.End
End Sub

'********************
'读取文件
'********************
Function ReadFile(fileName)
    If Not FileExists(fileName) Then ReadFile = "" : Exit Function
    on error resume next
    dim objStream,temphtml
    set objStream = Server.CreateObject("adodb.stream")
    objStream.Type = 2 '以本模式读取
    objStream.mode = 3
    objStream.charset = "utf-8"
    objStream.open
    objStream.loadfromfile server.MapPath(fileName)
    temphtml = objStream.readtext
    objStream.Close
    set objStream = Nothing
    if err>0 then 
        err.clear
        ReadFile = ""
    else
        ReadFile = temphtml
    end If
    set objStream = nothing    
end Function

'********************
'保存文件
'********************
Function SaveFile(writeString,fileName)
    on error resume Next
    dim objStream
    set objStream = Server.CreateObject("adodb.stream")
    objStream.Type = 2 '以本模式读取
    objStream.mode = 3
    objStream.charset = "utf-8"
    objStream.open

    objStream.WriteText writeString
    objStream.SaveToFile server.MapPath(fileName),2    
    objStream.flush
    objStream.Close
    if err>0 then 
        err.clear
        SaveFile = False
    else 
        SaveFile = True
    end if 
    set objStream = nothing
end Function

'********************
'文件是否存在
'********************
Function FileExists(fileName)
    on error resume Next
    dim objFso
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    If objFso.FileExists(Server.MapPath(fileName)) Then
        FileExists = True
    Else
        FileExists = False
    End If
    if err>0 then err.clear
    Set objFso = Nothing 
end Function

'********************
'文件夹是否存在
'********************
Function FolderExits(folderName)
    on error resume Next
    dim objFso
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    IF objFso.FolderExists(Server.MapPath(folderName)) Then
        FolderExits = True
    Else
        FolderExits = False
    End IF 
    if err>0 then err.clear
    Set objFso = Nothing
End Function

'********************
'创建文件夹
'********************
Function CreateFolder(folderName)
    If FolderExits(folderName) Then CreateFolder = True : Exit Function
    folderName=Replace(folderName,"/","/")
    on error resume Next
    dim objFso
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")

    If InStr(folderName,"/")>0 Then
        folderNames=Split(folderName,"/")
        folderLevel=UBound(folderNames)
        For nowLevel=0 To folderLevel
        If nowLevel=0 Then nowFolderName=folderNames(nowLevel) Else nowFolderName=nowFolderName&"/"&folderNames(nowLevel)
        If Not FolderExits(nowFolderName) Then objFso.CreateFolder(Server.Mappath(nowFolderName))
        If Not FolderExits(nowFolderName) Then CreateFolder = False : Exit Function
        Next
    Else
        objFso.CreateFolder(Server.Mappath(folderName))
    End If

    if err>0 then err.clear
    CreateFolder = FolderExits(folderName)
    Set objFso = Nothing
End function

'********************
'删除文件
'********************
Function deleteFile(fileName)
    If Not FileExists(fileName) Then deleteFile = True : Exit Function
    on error resume next 
    fileName = Server.MapPath(fileName)
    dim objFso
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    if objFso.FileExists(fileName) then 
        objFso.deleteFile fileName,true
    end if
    if err>0 then 
        err.clear
        deleteFile = True
    else 
        deleteFile = True
    end if 
    Set objFso = Nothing
end function 

'********************
'删除文件夹
'********************
function deleteFolder(folderName)
    If Not FolderExits(folderName) Then deleteFolder = True : Exit Function
    on error resume next 
    folderName = server.MapPath(folderName)
    dim objFso
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    if objFso.FolderExists(folderName) then 
    objFso.deletefolder folderName,true
    end if
    if err>0 then 
        err.clear
        deletefolder = 0
    else 
        deletefolder = 1
    end if 
    Set objFso = Nothing
End Function
%>



测试一下

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Language" content="UTF-8" />
<%
'********************
'测试
'********************

If FileExists("test.txt") Then print "文件 <u>test.txt</u> 存在。<hr />" Else print "文件 <u>test.txt</u> 不存在。<hr />"
If deleteFile("test.txt") Then print "<u>test.txt</u>已经被删除。<hr />" Else print "删除<u>test.txt</u>时出错。<hr />"
If SaveFile("我是内容。","test.txt") Then print "已经将测试文本写入<u>test.txt</u>。<hr />" Else print "将测试文本写入<u>test.txt</u>时出错。测试终止<hr />":endprint
If ReadFile("test.txt")="" Then print "读取<u>test.txt</u>失败或者<u>test.txt</u>的内容为空。<hr />" Else print "<u>test.txt</u>中的文本内容:<u>"&ReadFile("test.txt")&"</u><hr />"
If FolderExits("1") Then print "<u>1</u>存在.<hr />" Else print "<u>1</u>不存在.<hr />"
If deleteFolder("1") Then print "<u>1</u>已经删除.<hr />" Else print "删除<u>1</u>失败.<hr />"
If CreateFolder("1") Then print "创建<u>1</u>存在.<hr />"
If CreateFolder("1/2/3/4/5/6") Then print "<u>1/2/3/4/5/6</u>已经创建.<hr />" Else print "创建<u>1/2/3/4/5/6</u>失败.<hr />"
If SaveFile(ReadFile("test.txt")&"2","1/2/3/4/5/6/new_test.txt") Then print "<u>1/2/3/4/5/6/new_test.txt</u>的内容:<u>"&ReadFile("1/2/3/4/5/6/new_test.txt")&"</u><hr />"
If deleteFile("1/2/3/4/5/6/new_test.txt") Then print "<u>1/2/3/4/5/6/new_test.txt</u>已经删除.<hr />" Else print "删除<u>1/2/3/4/5/6/new_test.txt</u>失败.<hr />"
If deleteFile("test.txt") Then print "<u>test.txt</u>已经删除.<hr />" Else print "删除<u>test.txt</u>失败.<hr />"
If deleteFolder("1") Then print "<u>1</u>已经删除.<hr />" Else print "删除<u>1</u>失败.<hr />"
openDB
closeDB
%>
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:98573次
    • 积分:1446
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:6篇
    • 译文:0篇
    • 评论:3条
    最新评论