Cls_Fso.asp
上传用户:prospercnc
上传日期:2019-12-08
资源大小:1314k
文件大小:6k
源码类别:

弱点检测代码

开发平台:

ASP/ASPX

  1. <%
  2. '==========================================
  3. '文 件 名:Cls_Fso.asp
  4. '文件用途:常规函数类
  5. '版权所有:方卡在线
  6. '==========================================
  7. Class Cls_Fso
  8. '==============================
  9. '函 数 名:FsoLineWrite
  10. '作    用:按行写入文件
  11. '参    数:文件相对路径FilePath,写入行号LineNum,写入内容LineContent
  12. '==============================
  13. Function FsoLineWrite(FilePath,LineNum,LineContent)
  14. If LineNum<1 Then Exit Function
  15. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  16. If Not Fso.FileExists(Server.MapPath(FilePath)) Then Exit Function
  17. Temp=FsoFileRead(FilePath)
  18. TempArr=Split(Temp,Chr(13)&Chr(10))
  19. TempArr(LineNum-1)=LineContent
  20. Temp=Join(TempArr,Chr(13)&Chr(10))
  21. Call CreateFile(FilePath,Temp)
  22. Set Fso=Nothing
  23. End Function
  24. '==============================
  25. '函 数 名:FsoFileRead
  26. '作    用:读取文件
  27. '参    数:文件相对路径FilePath
  28. '==============================
  29. Function FsoFileRead(FilePath) 
  30. Set objAdoStream = Server.CreateObject("A"&"dod"&"b.St"&"r"&"eam")
  31. If Err.Number=-2147221005 Then 
  32. Response.Write "方卡错误提示:服务器不支持ADODB.Stream"
  33. Err.Clear
  34. Response.End
  35. End If
  36. With objAdoStream
  37. .type=2
  38. .mode=3
  39. .Charset = "utf-8"
  40. .Open
  41. .LoadFromFile Server.MapPath(FilePath)
  42. .Position = 2 
  43. FsoFileRead=.ReadText
  44. End With
  45. objAdoStream.Close
  46. Set objAdoStream=Nothing
  47. End Function
  48. '==============================
  49. '函 数 名:CreateFolder
  50. '作    用:创建文件夹
  51. '参    数:文件夹相对路径FolderPath
  52. '==============================
  53. Function CreateFolder(FolderPath)
  54. ' On Error Resume Next
  55. If FolderPath<>"" Then
  56. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  57. Set F=Fso.CreateFolder(Server.MapPath(FolderPath))
  58. CreateFolder=F.Path
  59. Set F=Nothing
  60. Set Fso=Nothing
  61. End If
  62. ' Select Case Err
  63. ' Case 424 Response.Write("方卡错误提示:创建"&FolderPath&"文件夹时,路径未找到或者该目录没有写入权限!")
  64. ' End Select
  65. End Function
  66. '==============================
  67. '函 数 名:CreateFile
  68. '作    用:创建文件
  69. '参    数:文件相对路径FilePath,文件内容FileContent
  70. '==============================
  71. Function CreateFile(FilePath,FileContent)
  72. ' On Error Resume Next
  73. Dim Temps
  74. Temps=""
  75. TempArr=Split(FilePath,"/")
  76. For i=0 to UBound(TempArr)-1
  77. If Temps="" Then
  78. Temps=TempArr(i)
  79. Else
  80. Temps=Temps&"/"&TempArr(i)
  81. End If
  82. If IsFolder(Temps)=False Then
  83. Call CreateFolder(Temps)
  84. End If
  85. Next
  86. Set objAdoStream = Server.CreateObject("A"&"dod"&"b.St"&"r"&"eam")
  87. objAdoStream.Type = 2
  88. objAdoStream.Charset = "UTF-8" 
  89. objAdoStream.Open
  90. objAdoStream.WriteText = FileContent
  91. objAdoStream.SaveToFile Server.MapPath(FilePath),2
  92. objAdoStream.Close()
  93. Set objAdoStream = Nothing
  94. ' Select Case Err       
  95. '  Case 424 Response.Write("方卡错误提示:创建"&FilePath&"文件时,路径未找到或者该目录没有写入权限!")
  96. ' End Select
  97. End Function
  98. '==============================
  99. '函 数 名:DelFolder
  100. '作    用:删除文件夹
  101. '参    数:文件夹相对路径FolderPath
  102. '==============================
  103. Function DelFolder(FolderPath)
  104. If IsFolder(FolderPath)=True Then
  105. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  106. Fso.DeleteFolder(Server.MapPath(FolderPath))
  107. DeleteFile delgkHtmlFilepath,True 
  108. Set Fso=Nothing
  109. End If 
  110. ' Select Case Err      
  111. '  Case 424 Response.Write("方卡错误提示:删除"&FolderPath&"文件夹时,路径未找到或者该目录没有写入权限!")
  112. ' End Select
  113. End Function 
  114. '==============================
  115. '函 数 名:DelFile
  116. '作    用:删除文件
  117. '参    数:文件相对路径FilePath
  118. '==============================
  119. Function DelFile(FilePath)
  120. ' On Error Resume Next
  121. If IsFile(FilePath)=True Then 
  122. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  123. Fso.DeleteFile(Server.MapPath(FilePath))
  124. Set Fso=Nothing
  125. End If
  126. ' Select Case Err      
  127. '  Case 424 Response.Write("方卡错误提示:删除"&FilePath&"文件时,路径未找到或者该目录没有写入权限!")
  128. ' End Select
  129. End Function 
  130.  
  131. '==============================
  132. '函 数 名:IsFile
  133. '作    用:检测文件是否存在
  134. '参    数:文件相对路径FilePath
  135. '==============================
  136. Function IsFile(FilePath)
  137. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  138. If (Fso.FileExists(Server.MapPath(FilePath))) Then
  139. IsFile=True
  140. Else
  141. IsFile=False
  142. End If
  143. Set Fso=Nothing
  144. End Function
  145. '==============================
  146. '函 数 名:IsFolder
  147. '作    用:检测文件夹是否存在
  148. '参    数:文件相对路径FolderPath
  149. '==============================
  150. Function IsFolder(FolderPath)
  151. If FolderPath<>"" Then
  152. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  153. If Fso.FolderExists(Server.MapPath(FolderPath)) Then  
  154. IsFolder=True
  155. Else
  156. IsFolder=False
  157. End If
  158. Set Fso=Nothing
  159. End If
  160. End Function
  161. '==============================
  162. '函 数 名:CopyFiles
  163. '作    用:复制文件
  164. '参    数:文件来源地址SourcePath,文件复制到地址CopyToPath
  165. '==============================
  166. Function CopyFiles(SourcePath,CopyToPath)
  167. Set Fso=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
  168.  Fso.CopyFile Server.MapPath(SourcePath),Server.MapPath(CopyToPath)
  169.  Set Fso=nothing
  170. End Function
  171. '==============================
  172. '函 数 名:SaveRemoteFile
  173. '作    用:保存远程图片
  174. '参    数:图片来源网址SourceUrl,图片保存地址SavePath
  175. '==============================
  176. Sub SaveRemoteFile(SourceUrl,SavePath)
  177. On Error Resume Next
  178. Set Temp = Server.CreateObject("Mic"&"roso"&"ft.XML"&"HT"&"TP")
  179. With Temp
  180. .Open "Get", SourceUrl, False, "", ""
  181. .Send
  182. If Err.number<>0 Then
  183. Exit Sub
  184. End If
  185. F = .ResponseBody
  186. End With
  187. Set Temp = Nothing
  188. Set objAdoStream = Server.CreateObject("A"&"dod"&"b.St"&"r"&"eam")
  189. With objAdoStream
  190. .Type = 1
  191. .Open
  192. .Write F
  193. .SaveToFile Server.MapPath(SavePath), 2
  194. .Cancel()
  195. .Close()
  196. End With
  197. Set objAdoStream=nothing
  198. End Sub
  199. End Class
  200. %>