📄 data_s.asp
字号:
<!--#include file="../inc/md5.asp"-->
<!--#include file="../conn.asp"-->
<!--#include file="inc/inc.asp"-->
<!--#include file="../inc/inc.asp"-->
<!--#include file="admin_page_top.asp"-->
<%
Dim ZC_DATABASE_PATH
'数据库的路径
ZC_DATABASE_PATH=DataPath
data_array= Split(ZC_DATABASE_PATH,"/")
Dim action
action=trim(request("action"))
Dim dbpath,bkfolder,bkdbname,fso,fso1
Select Case action
Case ""
Call chushihua()
Case "CompressData" '压缩数据
Dim tmprs
dim allarticle
dim Maxid
dim topic,username,dateandtime,body
call CompressData()
case "BackupData" '备份数据
if request("act")="Backup" Then
call updata()
else
call BackupData()
end If
case "RestoreData" '恢复数据
dim backpath
if request("act")="Restore" Then
Dbpath=request.form("Dbpath")
backpath=ZC_DATABASE_PATH
if dbpath="" Then
response.write "Please input your database whole Name"
else
Dbpath=server.mappath(Dbpath)
end If
backpath=server.mappath(backpath)
Set Fso=server.CreateObject("scripting.filesystemobject")
if fso.fileexists(dbpath) Then
fso.copyfile Dbpath,Backpath
rightmsg "","数据库被成功还原!<br>"
else
errormsg "没找到您所需要的数据库!"
end If
else
call RestoreData()
end If
Case "SpaceSize" '系统空间占用
call SpaceSize()
Case "deletebackup"
Dim dbname
dbpath=Request.QueryString("dbpath")
dbname=Request.QueryString("dbname")
dbpath=Server.MapPath(dbpath)
dbpath=dbpath &"\"&dbname
set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(dbPath) Then
fso.DeleteFile(DBPath)
Set fso = nothing
rightmsg "data_s.asp?action=BackupData","您备份的数据库已经" & dbpath &"被成功删除!"
Else
response.write dbpath
errormsg "输入的路径错误,请确认后重新输入!"
End If
Case Else
End Select
%>
<!--#include file="admin_page_footer.asp"-->
<%
'====================系统空间占用=======================
Sub SpaceSize()
On Error Resume Next
%>
<h1>系统空间查看</h1>
<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- <tr>
<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)
</td>
</tr> -->
<tr>
<td class="art_info2 zq">数据库:<%showSpaceinfo("../"&data_array(UBound(data_array)-1))%></td></tr>
<tr>
<td class="art_info2 zq">备份数据库:<%showSpaceinfo("../databackup")%></td></tr>
<tr>
<td class="art_info2 zq">页面文件:<%showSpaceinfo("$$~_~$$")%></td></tr>
<tr>
<td class="art_info2 zq">系统总共:<%showSpaceinfo("../")%></td></tr>
</table>
<%End Sub
Sub ShowSpaceInfo(drvpath)
dim fso,d,size,showsize
set fso=server.CreateObject("scripting.filesystemobject")
If drvpath="$$~_~$$" Then
drvpath1=server.mappath("../")
set d=fso.getfolder(drvpath1)
size1=d.size
drvpath2=server.mappath("../databackup")
set e=fso.getfolder(drvpath2)
size2=e.size
drvpath3=server.mappath("../"&data_array(UBound(data_array)-1))
set f=fso.getfolder(drvpath3)
size2=f.size
size=size1-size2-size3
Else
drvpath=server.mappath(drvpath)
set d=fso.getfolder(drvpath)
size=d.size
End If
showsize=size & " Byte"
if size>1024 Then
size=(Size/1024)
showsize=size & " KB"
end If
if size>1024 Then
size=(size/1024)
showsize=formatnumber(size,2) & " MB"
end If
if size>1024 Then
size=(size/1024)
showsize=formatnumber(size,2) & " GB"
end If
response.write "<font face=verdana>" & showsize & "</font>"
End Sub
Sub RestoreData()%>
<h2>还原数据库(恢复论坛数据( 需要FSO支持,FSO相关帮助请看微软网站 ))</h2>
<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- <tr>
<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)
</td>
</tr> -->
<form id="edit" method="post" action="data_s.asp?action=RestoreData&act=Restore">
<tr>
<td class="art_tit zq">还原的路径(相对路径):<input type=text size=30 name=DBpath value="..\DataBackup\<%=Date()%>_Bak.mdb"></td>
</tr>
<tr>
<td class="art_tit"> <input type=submit value="开始还原"></td>
</tr>
</form>
</table>
<h6>在上面填写本程序的数据库路径全名,本程序的默认备份数据库文件为DataBackup\时间_Bak.MDB,请按照您的备份文件自行修改。</h6>
<h6>您可以用这个功能来备份您的法规数据,以保证您的数据安全!</h6>
<h6>注意:所有路径都是相对与程序空间根目录的相对路径</h6>
<%End Sub
Sub updata()
Dbpath=ZC_DATABASE_PATH
Dbpath=server.mappath(Dbpath)
bkfolder=request.form("bkfolder")
bkdbname=request.form("bkdbname")
If bkfolder="" Then bkfolder="..\Databackup"
If bkfolder="..\" & data_array(UBound(data_array)-1) Then errormsg "Error 备份数据库目标文件夹不可在系统数据库目录下!"
If bkfolder="../" & data_array(UBound(data_array)-1) Then errormsg "Error 备份数据库目标文件夹不可在系统数据库目录下!"
If bkdbname="" Then bkdbname="2007-9-9_bak"
bkdbname=bkdbname & ".mdb"
bkfolders=bkfolder
Set Fso=server.CreateObject("scripting.filesystemobject")
if fso.fileexists(dbpath) Then
If CheckDir(bkfolder) = True Then
fso.copyfile dbpath,bkfolder& "\"& bkdbname
else
MakeNewsDir bkfolder
fso.copyfile dbpath,bkfolder& "\"& bkdbname
end If
response.write "<h2>已经成功备份,你的数据库的路径:" &bkfolders& "\"& bkdbname&"</h2>"
response.write "<h4>点击此处将数据库下载下来:<a href="""& bkfolders & "/" & bkdbname &""">" & bkfolder & "/" & bkdbname &"</h4>"
response.write "<h4><a href=""data_s.asp?action=deletebackup&dbpath="&bkfolders&"&dbname=" & bkdbname &""">当您下载完毕后,点击此处将删除备份的数据库!</h4>"
response.write "<h4><a href=""javascript:history.go(-1)"">返回上一页</a></h4>"
Else
errormsg "Error 找不到文件!"
End If
Set fso = nothing
End Sub
'------------------检查某一目录是否存在-------------------
Function CheckDir(FolderPath)
folderpath=Server.MapPath(".")&"\"&folderpath
Set fso1 = CreateObject("Scripting.FileSystemObject")
If fso1.FolderExists(FolderPath) Then '存在
CheckDir = True
Else '不存在
CheckDir = False
End If
Set fso1 = nothing
End Function
'-------------根据指定名称生成目录-----------------------
Function MakeNewsDir(foldername)
dim f
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set f = fso1.CreateFolder(foldername)
MakeNewsDir = True
Set fso1 = nothing
End Function
Sub BackupData()
%>
<h2>备份数据库(恢复论坛数据( 需要FSO支持,FSO相关帮助请看微软网站 )</h2>
<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- <tr>
<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)
</td>
</tr> -->
<form id="edit" method="post" action="data_s.asp?action=BackupData&act=Backup">
<tr>
<td class="art_tit zq">备份数据库目录(相对路径):<input type=text name=bkfolder value="..\Databackup" style="width:180px;"> 如目录不存在,程序将自动创建</td>
</tr>
<tr>
<td class="art_tit zq">备份数据库名称(填写名称):<input type=text name=bkDBname value="<%=Date()%>_bak" style="width:156px;">.mdb 按日期自动命名。如备份目录有该文件,将覆盖,如没有,将自动创建</td>
</tr>
<tr>
<td class="art_tit"> <input type=submit value="开始备份"></td>
</tr>
</form>
</table>
<h6>请一定不能用默认名称命名备份数据库。</h6>
<h6>您可以用这个功能来备份您的法规数据,以保证您的数据安全!</h6>
<h6>注意:所有路径都是相对与程序空间根目录的相对路径</h6>
<%
End Sub
Sub CompressData()
%>
<h2>压缩数据库( 需要FSO支持,FSO相关帮助请看微软网站 )</h2>
<table width="100%" cellspacing="1" cellpadding="0" class="info_tab">
<!-- <tr>
<td class="art_tit zq">注意:
输入数据库所在相对路径,并且输入数据库名称(正在使用中数据库不能压缩,请选择备份数据库进行压缩操作)
</td>
</tr> -->
<form id="edit" action="data_s.asp?action=CompressData" method="post">
<tr>
<td class="art_tit zq"><input type="checkbox" name="boolIs97" value="True">如果是ac97,请将钩打上.(默认是Access 2000)</td>
</tr>
<tr>
<td class="art_tit"> <input type="submit" value="开始压缩"></td>
</tr>
<INPUT TYPE="hidden" NAME="Cdat" value="1">
</form>
</table>
<%
Dim dbpath,boolIs97
boolIs97 = request("boolIs97")
If request("Cdat")<>"" Then
dbpath = server.mappath(ZC_DATABASE_PATH)
response.write(CompactDB(dbpath,boolIs97))
End If
End Sub
'=====================压缩参数=========================
Function CompactDB(dbPath, boolIs97)
Dim fso, Engine, strDBPath,JET_3X
strDBPath = Left(dbPath,InStrRev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(dbPath) Then
fso.CopyFile dbpath,strDBPath & "temp.mdb"
Set Engine = CreateObject("JRO.JetEngine")
If boolIs97 = "True" Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb;" _
& "Jet OLEDB:Engine Type=" & JET_3X
Else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb"
End If
fso.CopyFile strDBPath & "temp1.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
fso.DeleteFile(strDBPath & "temp1.mdb")
Set fso = nothing
Set Engine = nothing
CompactDB = "<h6>您的数据库已经被成功压缩! " & vbCrLf
Else
CompactDB = "<h6>您输入的路径错误,请确认后重新输入!</h6>" & vbCrLf
End If
End Function
'////////////////////end////////////////////////
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -