Admin_UploadFile.asp
上传用户:xxtaishan
上传日期:2022-01-02
资源大小:4063k
文件大小:10k
源码类别:

IP电话/视频会议

开发平台:

ASP/ASPX

  1. <!--#include file = "Include/Startup.asp"-->
  2. <!--#include file = "admin_private.asp"-->
  3. <%
  4. Dim sStyleID, sUploadDir, sCurrDir, sDir
  5. sPosition = sPosition & "上传文件管理"
  6. Call Header()
  7. Call Content()
  8. Call Footer()
  9. Sub Content()
  10. If IsObjInstalled("Scripting.FileSystemObject") = False Then
  11. Response.Write "此功能要求服务器支持文件系统对象(FSO),而你当前的服务器不支持!"
  12. Exit Sub
  13. End If
  14. ' 初始化传入参数
  15. Call InitParam()
  16. Select Case sAction
  17. Case "DELALL" ' 删除所有文件
  18. Call DoDelAll()
  19. Case "DEL" ' 删除指定文件
  20. Call DoDel()
  21. Case "DELFOLDER" ' 删除文件夹
  22. Call DoDelFolder()
  23. End Select
  24. ' 显示文件列表
  25. Call ShowList()
  26. End Sub
  27. ' UploadFile目录下的所有文件列表
  28. Sub ShowList()
  29. Response.Write "<p align=right class=highlight2>" & _
  30. "<form action='?' method=post name=queryform>" & _
  31. "<b>选择样式目录:</b><select name='id' size=1 onchange=""location.href='?id='+this.options[this.selectedIndex].value"">" & InitSelect(sStyleID, "select ('样式:'+S_Name+'---目录:'+S_UploadDir),S_ID from eWebEditor_Style order by S_ID asc", "选择...") & "</select>" & _
  32. "</form></p>"
  33. If sCurrDir = "" Then Exit Sub
  34. Response.Write "<table border=0 cellpadding=0 cellspacing=0 class=list1>" & _
  35. "<form action='?id=" & sStyleID & "&dir=" & sDir & "&action=del' method=post name=myform>" & _
  36. "<tr align=center>" & _
  37. "<th width=50>类型</th>" & _
  38. "<th width=140>文件地址</th>" & _
  39. "<th width=100>大小</th>" & _
  40. "<th width=130>最后访问</th>" & _
  41. "<th width=130>上传日期</th>" & _
  42. "<th width=30>删除</th>" & _
  43. "</tr>"
  44. Dim sCurrPage, nCurrPage, nFileNum, nPageNum, nPageSize
  45. sCurrPage = Trim(Request("page"))
  46. nPageSize = 20
  47. If sCurrpage = "" Or Not IsNumeric(sCurrPage) Then
  48. nCurrPage = 1
  49. Else
  50. nCurrPage = CLng(sCurrPage)
  51. End If
  52. Dim oFSO, oUploadFolder, oUploadFiles, oUploadFile, sFileName
  53. Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  54. On Error Resume Next
  55. Set oUploadFolder = oFSO.GetFolder(Server.MapPath(sCurrDir))
  56. If Err.Number>0 Then
  57. Response.Write "</table>无效的目录!"
  58. Exit Sub
  59. End If
  60. If sDir <> "" Then
  61. Response.Write "<tr align=center>" & _
  62. "<td><img border=0 src='sysimage/file/folderback.gif'></td>" & _
  63. "<td align=left colspan=5><a href=""?id=" & sStyleID & "&dir="
  64. If InstrRev(sDir, "/") > 1 Then
  65. Response.Write Left(sDir, InstrRev(sDir, "/") - 1)
  66. End If
  67. Response.Write """>返回上一级目录</a></td></tr>"
  68. End If
  69. Dim oSubFolder
  70. For Each oSubFolder In oUploadFolder.SubFolders
  71. Response.Write "<tr align=center>" & _
  72. "<td><img border=0 src='sysimage/file/folder.gif'></td>" & _
  73. "<td align=left colspan=4><a href=""?id=" & sStyleID & "&dir="
  74. If sDir <> "" Then
  75. Response.Write sDir & "/"
  76. End If
  77. Response.Write oSubFolder.Name & """>" & oSubFolder.Name & "</a></td>" & _
  78. "<td><a href='?id=" & sStyleID & "&dir=" & sDir & "&action=delfolder&foldername=" & oSubFolder.Name & "'>删除</a></td></tr>"
  79. Next
  80. Set oUploadFiles = oUploadFolder.Files
  81. nFileNum = oUploadFiles.Count
  82. nPageNum = Int(nFileNum / nPageSize)
  83. If nFileNum Mod nPageSize > 0 Then
  84. nPageNum = nPageNum+1
  85. End If
  86. If nCurrPage > nPageNum Then
  87. nCurrPage = 1
  88. end If
  89. Dim i
  90. i = 0
  91. For Each oUploadFile In oUploadFiles
  92. i = i + 1
  93. If i > (nCurrPage - 1) * nPageSize And i <= nCurrPage * nPageSize Then
  94. sFileName = oUploadFile.Name
  95. Response.Write "<tr align=center>" & _
  96. "<td>" & FileName2Pic(sFileName) & "</td>" & _
  97. "<td align=left><a href=""" & sCurrDir & sFileName & """ target=_blank>" & sFileName & "</a></td>" & _
  98. "<td>" & oUploadFile.size & " B </td>" & _
  99. "<td>" & oUploadFile.datelastaccessed & "</td>" & _
  100. "<td>" & oUploadFile.datecreated & "</td>" & _
  101. "<td><input type=checkbox name=delfilename value=""" & sFileName & """></td></tr>"
  102. Elseif i > nCurrPage * nPageSize Then
  103. Exit For
  104. End If
  105. Next
  106. Set oUploadFolder = Nothing
  107. Set oUploadFiles = Nothing
  108. If nFileNum <= 0 Then
  109. Response.Write "<tr><td colspan=6>指定目录下现在还没有文件!</td></tr>"
  110. End If
  111. Response.Write "</table>"
  112. If nFileNum > 0 Then
  113. ' 分页
  114. Response.Write "<table border=0 cellpadding=3 cellspacing=0 width='100%'><tr><td>"
  115. If nCurrPage > 1 Then
  116. Response.Write "<a href='?id=" & sStyleID & "&dir=" & sDir & "&page=1'>首页</a>&nbsp;&nbsp;<a href='?id=" & sStyleID & "&dir=" & sDir & "&page="& nCurrPage - 1 & "'>上一页</a>&nbsp;&nbsp;"
  117. Else
  118. Response.Write "首页&nbsp;&nbsp;上一页&nbsp;&nbsp;"
  119. End If
  120. If nCurrPage < i / nPageSize Then
  121. Response.Write "<a href='?id=" & sStyleID & "&dir=" & sDir & "&page=" & nCurrPage + 1 & "'>下一页</a>&nbsp;&nbsp;<a href='?id=" & sStyleID & "&dir=" & sDir & "&page=" & nPageNum & "'>尾页</a>"
  122. Else
  123. Response.Write "下一页&nbsp;&nbsp;尾页"
  124. End If
  125. Response.Write "&nbsp;&nbsp;&nbsp;&nbsp;共<b>" & nFileNum & "</b>个&nbsp;&nbsp;页次:<b><span class=highlight2>" & nCurrPage & "</span>/" & nPageNum & "</b>&nbsp;&nbsp;<b>" & nPageSize & "</b>个文件/页"
  126. Response.Write "</td></tr></table>"
  127. End If
  128. Response.Write "<p align=right><input type=submit name=b value=' 删除选定的文件 '> <input type=button name=b1 value=' 清空所有文件 ' onclick=""javascript:if (confirm('你确定要清空所有文件吗?')) {location.href='admin_uploadfile.asp?id=" & sStyleID & "&dir=" & sDir & "&action=delall';}""></p></form>"
  129. End Sub
  130. ' 删除指定的文件
  131. Sub DoDel()
  132. On Error Resume Next
  133. Dim sFileName, oFSO, sMapFileName
  134. Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  135. For Each sFileName In Request.Form("delfilename")
  136. sMapFileName = Server.MapPath(sCurrDir & sFileName)
  137. If oFSO.FileExists(sMapFileName) Then
  138. oFSO.DeleteFile(sMapFileName)
  139. End If
  140. Next
  141. Set oFSO = Nothing
  142. End Sub
  143. ' 删除所有的文件
  144. Sub DoDelAll()
  145. On Error Resume Next
  146. Dim sFileName, oFSO, sMapFileName, oFolder, oFiles, oFile
  147. Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  148. Set oFolder = oFSO.GetFolder(Server.MapPath(sCurrDir))
  149. Set oFiles = oFolder.Files
  150. For Each oFile In oFiles
  151. sFileName = oFile.Name
  152. sMapFileName = Server.MapPath(sCurrDir & sFileName)
  153. If oFSO.FileExists(sMapFileName) Then
  154. oFSO.DeleteFile(sMapFileName)
  155. End If
  156. Next
  157. Set oFile = Nothing
  158. Set oFolder = Nothing
  159. Set oFSO = Nothing
  160. End Sub
  161. ' 删除文件夹
  162. Sub DoDelFolder()
  163. On Error Resume Next
  164. Dim sFolderName, oFSO, sMapFolderName
  165. Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  166. sFolderName = Trim(Request("foldername"))
  167. sMapFolderName = Server.Mappath(sCurrDir & sFolderName)
  168. If oFSO.FolderExists(sMapFolderName) = True Then
  169. oFSO.DeleteFolder(sMapFolderName)
  170. End If
  171. Set oFSO = Nothing
  172. End Sub
  173. ' 检测服务器是否支持某一对象
  174. Function IsObjInstalled(strClassString)
  175. On Error Resume Next
  176. IsObjInstalled = False
  177. Err = 0
  178. Dim xTestObj
  179. Set xTestObj = Server.CreateObject(strClassString)
  180. If 0 = Err Then IsObjInstalled = True
  181. Set xTestObj = Nothing
  182. Err = 0
  183. End Function
  184. ' 按文件名取图
  185. Function FileName2Pic(sFileName)
  186. Dim sExt, sPicName
  187. sExt = UCase(Mid(sFileName, InstrRev(sFileName, ".")+1))
  188. Select Case sExt
  189. Case "TXT"
  190. sPicName = "txt.gif"
  191. Case "CHM", "HLP"
  192. sPicName = "hlp.gif"
  193. Case "DOC"
  194. sPicName = "doc.gif"
  195. Case "PDF"
  196. sPicName = "pdf.gif"
  197. Case "MDB"
  198. sPicName = "mdb.gif"
  199. Case "GIF"
  200. sPicName = "gif.gif"
  201. Case "JPG"
  202. sPicName = "jpg.gif"
  203. Case "BMP"
  204. sPicName = "bmp.gif"
  205. Case "PNG"
  206. sPicName = "pic.gif"
  207. Case "ASP", "JSP", "JS", "PHP", "PHP3", "ASPX"
  208. sPicName = "code.gif"
  209. Case "HTM", "HTML", "SHTML"
  210. sPicName = "htm.gif"
  211. Case "ZIP"
  212. sPicName = "zip.gif"
  213. Case "RAR"
  214. sPicName = "rar.gif"
  215. Case "EXE"
  216. sPicName = "exe.gif"
  217. Case "AVI"
  218. sPicName = "avi.gif"
  219. Case "MPG", "MPEG", "ASF"
  220. sPicName = "mp.gif"
  221. Case "RA", "RM"
  222. sPicName = "rm.gif"
  223. Case "MP3"
  224. sPicName = "mp3.gif"
  225. Case "MID", "MIDI"
  226. sPicName = "mid.gif"
  227. Case "WAV"
  228. sPicName = "audio.gif"
  229. Case "XLS"
  230. sPicName = "xls.gif"
  231. Case "PPT", "PPS"
  232. sPicName = "ppt.gif"
  233. Case "SWF"
  234. sPicName = "swf.gif"
  235. Case Else
  236. sPicName = "unknow.gif"
  237. End Select
  238. FileName2Pic = "<img border=0 src='sysimage/file/" & sPicName & "'>"
  239. End Function
  240. ' ===============================================
  241. ' 初始化下拉框
  242. ' v_InitValue : 初始值
  243. ' s_Sql : 从数据库中取值时,select name,value from table
  244. ' s_AllName : 空值的名称,如:"全部","所有","默认"
  245. ' ===============================================
  246. Function InitSelect(v_InitValue, s_Sql, s_AllName)
  247. Dim i
  248. InitSelect = ""
  249. If s_AllName <> "" Then
  250. InitSelect = InitSelect & "<option value=''>" & s_AllName & "</option>"
  251. End If
  252. oRs.Open s_Sql, oConn, 0, 1
  253. Do While Not oRs.Eof
  254. InitSelect = InitSelect & "<option value=""" & inHTML(oRs(1)) & """"
  255. If CStr(oRs(1)) = CStr(v_InitValue) Then
  256. InitSelect = InitSelect & " selected"
  257. End If
  258. InitSelect = InitSelect & ">" & outHTML(oRs(0)) & "</option>"
  259. oRs.MoveNext
  260. Loop
  261. oRs.Close
  262. End Function
  263. ' ===============================================
  264. ' 初始化传入参数
  265. ' ===============================================
  266. Function InitParam()
  267. sStyleID = Trim(Request("id"))
  268. sUploadDir = ""
  269. If IsNumeric(sStyleID) = True Then
  270. sSql = "select S_UploadDir from eWebEditor_Style where S_ID=" & sStyleID
  271. oRs.Open sSql, oConn, 0, 1
  272. If Not oRs.Eof Then
  273. sUploadDir = oRs(0)
  274. End If
  275. oRs.Close
  276. End If
  277. If sUploadDir = "" Then
  278. sStyleID = ""
  279. Else
  280. sUploadDir = Replace(sUploadDir, "", "/")
  281. If Right(sUploadDir, 1) <> "/" Then
  282. sUploadDir = sUploadDir & "/"
  283. End If
  284. End If
  285. sCurrDir = sUploadDir
  286. ' 样式下的目录
  287. sDir = Trim(Request("dir"))
  288. If sDir <> "" Then
  289. If CheckValidDir(Server.Mappath(sUploadDir & sDir)) = True Then
  290. sCurrDir = sUploadDir & sDir & "/"
  291. Else
  292. sDir = ""
  293. End If
  294. End If
  295. End Function
  296. ' ===============================================
  297. ' 检测目录的有效性
  298. ' ===============================================
  299. Function CheckValidDir(s_Dir)
  300. Dim oFSO
  301. Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
  302. CheckValidDir = oFSO.FolderExists(s_Dir)
  303. Set oFSO = Nothing
  304. End Function
  305. %>