灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3775回复:0

使用函数自动生成n层目录

楼主#
更多 发布于:2011-12-15 23:12


先检查是否已经存在该目录了,如果存在,则不做任何处理,如果不存在则创建。
希望对各位快速开发有用。
CheckFolder.asp


<%
'**********************************************************************************************
'作    者: 赵敏  flash90@sohu.com
'页面名称: CreateFolder.asp
'页面功能: 生成n层目录的文件夹
'使用方法:  调用CheckFolder()函数,例如: CheckFolder(path)
'传入参数:  即将上传的文件的相对路径,例如: path = "./upload/bbb/ccc/ddd"
'缺   点:  必须在参数path里面带上upload文件夹
'**********************************************************************************************
Sub CheckFolder(path)
    SplitPath(path)
End Sub
Sub SplitPath(path)
  dim Road '物理路径
  Road = Server.Mappath("./upload")
  dim CurRoad '当前路径
  Road = Split(Road,"\",-1,1)
  CurRoad = Road(UBound(Road))
  dim folder,FSO
  Set FSO = Server.CreateObject("Scripting.FileSystemObject")
  folder = Split(path,"\",-1,1)
  for i = 0 to UBound(folder) step 1
     if folder(i) = CurRoad then
       j = i
    exit for
  end if
  Next
  i = j + 1
  if i <= UBound(folder) then
      dim myroad
   myroad = Server.MapPath(".\upload")
   for i = j + 1 to UBound(folder) step 1
   CreateFolder myroad,folder(i)
      myroad = myroad ;"/"; folder(i)
   Next
  end if
End Sub
Sub CreateFolder(mypath,folderName)
  Dim fso,f
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  if Not(fso.FolderExists(mypath+"/"+folderName)) then
     set f = fso.CreateFolder(mypath+"/"+folderName)
  end if
End Sub
Set fso = nothing
%>


喜欢0 评分0
游客

返回顶部