后台做简单的文件管理、附件浏览时,需要读取服务器物理目录。FSO(FileSystemObject)是经典 ASP 操作文件系统的标准组件,配合 Server.MapPath 可以把虚拟路径转成物理路径来遍历。
实现思路
Server.CreateObject 创建 FSO 对象,GetFolder 拿到目录对象,folder.Files 集合就是全部文件;逐个读取 Name、Size、DateLastModified 属性输出,最后释放对象。
完整代码
<%@ Language="VBScript" CodePage=65001 %>
<%
Option Explicit
Dim fso, folder, file
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(Server.MapPath("/upload"))
Response.Write "目录:" & folder.Path & "<br>"
For Each file In folder.Files
Dim kb
kb = FormatNumber(file.Size / 1024, 1)
Response.Write file.Name & " - " & kb & " KB - " & file.DateLastModified & "<br>"
Next
Set file = Nothing
Set folder = Nothing
Set fso = Nothing
%>扩展思路
- 按扩展名过滤:在 For Each 里判断 LCase(fso.GetExtensionName(file.Name));
- 统计总量:循环里累加 file.Size 变量即可;
- 写文件用 CreateTextFile 加 True 覆盖参数再调用 Write,追加内容则用 OpenTextFile 的 ForAppending 模式。
小结
FSO 三件套:GetFolder 遍历、CreateTextFile 写、OpenTextFile 读,几乎覆盖所有文件管理需求,注意目录权限要放给 IIS 进程账户。
评论(0)
暂无评论,快来抢沙发吧~