怎样判断一个目录是否有权限访问?

hansonboy 2010-09-23 03:53:38
我生成文件时先判断文件所在目录是否存在, 如不存在则创建目录,
如要生成的文件在:d:\www\site\a.html
网站根目录是:d:\www\site\
用户权限只能访问site目录和子目录,没有权限访问www目录,如果一级一级判断是否存在时,当判断www目录因为没有权限会返回空(表示不存在),这时判断就是错误的。本来有个好办法,就是不判断site目录的父级以上目录, 这样就不会存在该问题,但如果网站中有虚拟目录, 虚拟目录不在site目录下就一定要判断整个目录了
...全文
422 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hansonboy 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yousite1 的回复:]
可以用fso对像判断是否存在目录。

HTML code


'[判断目录是否存在]
'函数名:CheckDir
'作 用:判断目录是否存在
'参 数:ckDirname ---- 目录名(包括路径)
'返回值:目录存在返回True,否则False
'*************************************************……
[/Quote]
如果所以目录都是存在于网站根目录下,那你的方法是可以,我在贴里了也说过,但如果有虚拟目录,而且这个虚拟目录在是在网站根目录下那这个方法就不可行了,因为根本没办法判断虚拟目录中那一级(你的方法中所说的:\www\site )为肯定存在且正常应该有权限的目录
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xzy21com 的回复:]
FSO可以判断某个文件夹存在与否,但不代表存在就可以访问!
[/Quote]
说得对。
所以,应该通过在目标文件夹建立一个TEST文件来测试,一举两得,既能知道目录是否存在,也能知道是否有权限访问和写入。
当然,如果没别的考虑,那么直接写入你想写的文件就行,一旦检测到ERROR就转到错误处理代码就可以了。
scscms太阳光 2010-10-16
  • 打赏
  • 举报
回复
FSO可以判断某个文件夹存在与否,但不代表存在就可以访问!
louisit 2010-10-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yousite1 的回复:]
可以用fso对像判断是否存在目录。

HTML code


'[判断目录是否存在]
'函数名:CheckDir
'作 用:判断目录是否存在
'参 数:ckDirname ---- 目录名(包括路径)
'返回值:目录存在返回True,否则False
'*************************************************……
[/Quote]
顶,学习
yousite1 2010-10-16
  • 打赏
  • 举报
回复
可以用fso对像判断是否存在目录。


'[判断目录是否存在]
'函数名:CheckDir
'作 用:判断目录是否存在
'参 数:ckDirname ---- 目录名(包括路径)
'返回值:目录存在返回True,否则False
'**************************************************
Public Function CheckDir(ByVal ckDirname)
Dim M_fso
CheckDir=False
Set M_fso = CreateObject("Scripting.FileSystemObject")
If (M_fso.FolderExists(ckDirname)) Then
CheckDir=True
End If
Set M_fso = Nothing
End Function


上面所说d:\www\site\file\a.html
根目录是:d:\www\site 这个目录肯定存在,
也就是说只要判断d:\www\site\file是否存在,不存在的话先调用fso.CreateFolder("")创建即可。
一般网站下的目录肯定有权限的。
除非你要越权访问会没权限!
如你访问的是d:\www\site2
puber 2010-10-16
  • 打赏
  • 举报
回复
没看懂

但应该可以写个函数 然后 函数体内 访问目录 on error 一下

有err 说明不存在。。。
hansonboy 2010-10-16
  • 打赏
  • 举报
回复
好久没来了, 还没解决
hansonboy 2010-09-24
  • 打赏
  • 举报
回复
如果目录不存在就生成文件就会出错,这点我想你应该知道吧,
如要生成的文件在:d:\www\site\file\a.html
网站根目录是:d:\www\site\
file目录不是一定存在的, 这时你是否需要判断上一级目录是否存在?
Dogfish 2010-09-24
  • 打赏
  • 举报
回复
on error
碰到错误就放弃。那就是不能访问的了。
山的那一边 2010-09-23
  • 打赏
  • 举报
回复
为什么要判断上一级目录呢?不明白
ChinaXtHuLang 2010-09-23
  • 打赏
  • 举报
回复
权限问题好像不能判断吧。。。。至少我不知道如何判断一个目录的权限。。。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧