📄 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"-->
<%
Login_Judge
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" '压缩数据
Ispower 1033
Dim tmprs
dim allarticle
dim Maxid
dim topic,username,dateandtime,body
call CompressData()
case "BackupData" '备份数据
Ispower 1031
if request("act")="Backup" Then
call updata()
else
call BackupData()
end If
case "RestoreData" '恢复数据
Ispower 1032
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 + -