在'/'上拆分路径以解析它是否安全?

时间:2017-02-05 18:36:03

标签: path posix dirname

我正在尝试获取路径中的所有目录。例如,从isLoggedIn()开始,我想获得a/b/c/d.eaa/b。我可以通过多次调用posix a/b/c之类的函数来实现这一点。问题出在像dirname这样的路径上。我想获得a/b/c/aa/b。由于a/b/c后面有/c应该是我要列出的目录。但是,当c作为输入时,dirname等函数会返回a/b而不是a/b/c

我可以在a/b/c/上拆分以获取目录列表,还是存在一个不起作用的边缘情况?

1 个答案:

答案 0 :(得分:1)

我知道的唯一特例是

  1. 文件名末尾
  2. 最后/
  3. 文件夹名称为a.e(可能或可能不在最后)
  4. 符号链接
  5. Windows路径(使用\,但我认为它不适用于您的情况)
  6. 用户输入错误,放置多个/。例如某些程序支持的/tmp//something
  7. 如果您的功能支持上述所有情况,我认为没问题。