📄 datamanage.php
字号:
<? include("../conn.php");?>
<? include("../include/function.php");?>
<?
session_start();
$manager=$_SESSION[manager];
if($manager!="oktop"){
header("Location:error.htm");
}
?>
<head>
<meta http-equiv="content-Type" content="text/html; charset=gb2312">
<title>数据管理</title>
<link href="../style/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="600" border="0" cellpadding="6" cellspacing="1" bgcolor="#cccccc">
<tr>
<td bgcolor="#FFFFFF" class="msghead"><? echo $sitename;?> 数据管理</td>
</tr>
<tr>
<td bgcolor="#FFFFFF">数据库文件路径:<? echo $Request.ServerVariables("APPL_PHYSIcAL_PATH")&AccessPath&"\"&AccessFile;?></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">数据库文件空间占用:<? echo $GetTotalSize(Server.Mappath(Path&"/"&AccessFile),"File");?></td>
</tr>
<tr><form action="datamanage.php?type=sqlquery" method="post">
<td bgcolor="#FFFFFF">SQL 执行(一次执行一个SQL):<input name="SQL_Query" value="" type="text" size="58"> <input type="submit" value=" 执行 "></td></form>
</tr>
<tr>
<td bgcolor="#FFFFFF">数据库文件操作:<b> <a href="datamanage.php?type=compact">压缩</a></b>(压缩前最好备份一次) | <b><a href="datamanage.php?type=Backup">备份</a></b>(强烈推荐每日备份一次)</td>
</tr>
<tr>
<td bgcolor="#FFFFFF" style="padding-left:18px;">
<?IF Request.QueryString("type")="sqlquery"){
Dim SQL_Query
SQL_Query=$_POST[SQL_Query")
conn.Execute(SQL_Query)
echo("<a href=""datamanage.php"">SQL语句执行成功,请点击返回</a>")
ElseIF Request.QueryString("type")="compact"){
Dim FSO,Engine
Set FSO=Server.createObject("Scripting.FileSystemObject")
IF Err<>0){
Err.clear
echo("服务器关闭FSO,无法压缩数据库")
Else
If FSO.FileExists(Server.Mappath(Path&"/"&AccessFile))){
echo "压缩数据库开始,网站暂停一切用户的前台操作......<br>"
conn.close
Set conn=Nothing
Application.Lock
FreeApplicationMemory
Application(COOkieName & "_SiteEnable") = 0
Application(COOkieName & "_SiteDisbleWhy") = "网站暂停中,请稍候几分钟后再来..."
Application.UnLock
Set Engine = createObject("JRO.JetEngine")
Engine.compactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Path&"/"&AccessFile), "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(Path&"/"&AccessFile&".temp")
FSO.copyFile Server.Mappath(Path&"/"&AccessFile&".temp"),Server.Mappath(Path&"/"&AccessFile)
FSO.DeleteFile(Server.Mappath(Path&"/"&AccessFile&".temp"))
Set FSO = Nothing
Set Engine = Nothing
echo "压缩数据库完成..."
Application.Lock
Application(COOkieName & "_SiteEnable") = 1
Application(COOkieName & "_SiteDisbleWhy") = ""
Application.UnLock
echo "<br>网站恢复正常访问..."
echo("<br><a href=""datamanage.php"">请点击返回</a>")
}
}
Set FSO=Nothing
ElseIF Request.QueryString("type")="Backup"){
echo "备份数据库开始,网站暂停一切用户的前台操作......<br>"
conn.close
Set conn=Nothing
Application.Lock
Application(COOkieName & "_SiteEnable") = 0
application(COOkieName & "_SiteDisbleWhy") = "网站暂停中,请稍候几分钟后再来..."
Application.UnLock
copyFiles Server.Mappath(Path&"/"&AccessFile),Server.Mappath(Path&"/"&AccessFile & "_" & DateToStr(Now(),"YmdHIS") &".BAK")
echo "<br>备份完成..."
Application.Lock
Application(COOkieName & "_SiteEnable") = 1
Application(COOkieName & "_SiteDisbleWhy") = ""
Application.UnLock
echo "<br>网站恢复正常访问..."
echo("<br><a href=""datamanage.php"">请点击返回</a>")
ElseIF Request.QueryString("type")="DeleFile"){
IF Request.QueryString("filename")=Empty){
echo("<a href=""datamanage.php"">要删除的文件名不能为空,请点击返回</a>")
Else
IF DeleteFiles(Server.MapPath(Path&"/"&Request.QueryString("filename")))=1){
echo("<a href=""datamanage.php"">文件删除成功,请点击返回</a>")
Else
echo("<a href=""datamanage.php"">文件删除失败,请点击返回</a>")
}
}
Else
echo("<b>备份文件列表</b><br>")
Dim DataFolder,DataFileList,DataFile,DataFileName
Set FSO=Server.createObject("Scripting.FileSystemObject")
IF Err<>0){
Err.clear
echo("服务器关闭FSO,无法查看备份文件列表")
Else
Set DataFolder=FSO.GetFolder(Server.MapPath(Path))
Set DataFileList=DataFolder.Files
For Each DataFile IN DataFileList
IF Ubound(Split(DataFile,"."))>=2){
DataFileName=DataFile.Name
echo("<font color=""#FF0000"">"&DataFileName&"</font> | <b><a href="&path&"/"&DataFileName&">下载此文件</a></b> | <b><a href=""datamanage.php?type=DeleFile&filename="&DataFileName&">删除此文件</a></b><br>")
}
Next
}
Set FSO=Nothing
}
Function copyFiles(TempSource,TempEnd)
Dim FSO
Set FSO = Server.createObject("Scripting.FileSystemObject")
IF Err<>0){
Err.clear
echo("服务器关闭FSO,无法复制文件")
Else
If FSO.FileExists(TempEnd)){
echo "目标备份文件 <b>" & TempEnd & "</b> 已存在,请先删除!"
Set FSO=Nothing
Exit Function
}
IF FSO.FileExists(TempSource)){
Else
echo "要复制的源数据库文件 <b>"&TempSource&"</b> 不存在!"
Set FSO=Nothing
Exit Function
}
FSO.copyFile TempSource,TempEnd
echo "已经成功复制文件 <b>"&TempSource&"</b> 到 <b>"&TempEnd&"</b>"
}
Set FSO = Nothing
End Function
Function DeleteFiles(FilePath)
Dim FSO
Set FSO=Server.createObject("Scripting.FileSystemObject")
IF Err<>0){
Err.clear
echo("服务器关闭FSO,无法删除文件")
Else
If FSO.FileExists(FilePath)){
FSO.DeleteFile FilePath,True
DeleteFiles = 1
Else
DeleteFiles = 0
}
}
Set FSO = Nothing
End Function
Function GetTotalSize(GetLocal,GetType)
Dim FSO
Set FSO=Server.createObject("Scripting.FileSystemObject")
IF Err<>0){
Err.clear
GetTotalSize="服务器关闭FSO,查看占用空间失败"
Else
Dim SiteFolder
IF GetType="Folder"){
Set SiteFolder=FSO.GetFolder(GetLocal)
Else
Set SiteFolder=FSO.GetFile(GetLocal)
}
GetTotalSize=SiteFolder.Size
IF GetTotalSize>1024*1024){
GetTotalSize=GetTotalSize/1024/1024
IF inStr(GetTotalSize,".")){ GetTotalSize = Left(GetTotalSize,inStr(GetTotalSize,".")+2)
GetTotalSize=GetTotalSize&" MB"
Else
GetTotalSize=Fix(GetTotalSize/1024)&" KB"
}
Set SiteFolder=Nothing
}
Set FSO=Nothing
End Function
Function FreeApplicationMemory
echo "<b>释放网站数据列表:</b>" & VbcrLf
Dim Thing
For Each Thing IN Application.contents
IF Left(Thing,Len(COOkieName)) = COOkieName){
echo "<font color=""gray"">" & thing & "</font><br>"
IF isObject(Application.contents(Thing))){
Application.contents(Thing).close
Set Application.contents(Thing) = Nothing
Application.contents(Thing) = Null
echo "成功关闭对象"
ElseIF isArray(Application.contents(Thing))){
Set Application.contents(Thing) = Nothing
Application.contents(Thing) = Null
echo "成功释放数组"
Else
echo(HtmlEncode(Application.contents(Thing)))
Application.contents(Thing) = Null
}
echo(" ")
}
Next
End Function
?></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -