glob()总是使用DIRECTORY_SEPARATOR返回文件路径吗?

时间:2015-12-11 02:07:45

标签: php

我没有Windows框来测试它,也找不到任何关于它的文档,所以我想我会问:

当我运行glob('/path/to/files/*.txt')时,它会返回一个数组:

[
  '/path/to/files/foo.txt'
  '/path/to/files/bar.txt'
]

我只想要文件的名称,所以我这样做:

foreach (glob('/path/to/files/*.txt') as $file) {
    $fileName = substr($file, strrpos($file, DIRECTORY_SEPARATOR) + 1);
    ...
}

通过查找最后一个斜杠后的所有内容来确定文件名。我使用DIRECTORY_SEPARATOR而不是'/',因为我假设在Windows上数组看起来像

[
  '\path\to\files\foo.txt'
  '\path\to\files\bar.txt'
]

这是真的吗?任何人都可以确认常量DIRECTORY_SEPARATOR将始终与glob()结果中的分隔符匹配吗?

1 个答案:

答案 0 :(得分:0)

正如VolkerK和Barmar在评论中所指出的那样,正确的答案是“无关紧要”,因为我应该使用php的有用basename函数而不是字符串黑客。