SplFileInfo::getRelativePath() ... 相对于什么?
SplFileInfo::getRelativePath() ... Relative to what?
这是关于 Symfony 3.3 中的 Finder 组件:getRelativePath
的文档说:“Returns 相对路径”。
有人知道相对于什么吗?
- 相对于当前文件夹?
- 相对于应用程序的根?
- 相对于我作为参数提供给
in()
? 的任何内容
看起来 "relative" 确实意味着 "Relative to the path provided to in()
"。
一个例子:
projects
| a_sub_dir
| | foo.txt
| bar.txt
如果,在上面的设置中,我们执行下面的代码:
$finder = (new Finder())
->files()
->in('/projects');
foreach ($finder as $file) {
var_dump([
'path' => $file->getRelativePath(),
'pathName' => $file->getRelativePathname(),
]);
}
我们将收到以下输出
array(2) {
["path"]=>
string(9) "a_sub_dir"
["pathName"]=>
string(17) "a_sub_dir/foo.txt"
}
array(2) {
["path"]=>
string(0) ""
["pathName"]=>
string(7) "bar.txt"
}
附录:
当对 in()
使用多个值时,一个文件会在两个值中找到,它会出现在循环中两次。每个 in()
值的相对路径/路径名一次。
这是关于 Symfony 3.3 中的 Finder 组件:getRelativePath
的文档说:“Returns 相对路径”。
有人知道相对于什么吗?
- 相对于当前文件夹?
- 相对于应用程序的根?
- 相对于我作为参数提供给
in()
? 的任何内容
看起来 "relative" 确实意味着 "Relative to the path provided to in()
"。
一个例子:
projects
| a_sub_dir
| | foo.txt
| bar.txt
如果,在上面的设置中,我们执行下面的代码:
$finder = (new Finder())
->files()
->in('/projects');
foreach ($finder as $file) {
var_dump([
'path' => $file->getRelativePath(),
'pathName' => $file->getRelativePathname(),
]);
}
我们将收到以下输出
array(2) {
["path"]=>
string(9) "a_sub_dir"
["pathName"]=>
string(17) "a_sub_dir/foo.txt"
}
array(2) {
["path"]=>
string(0) ""
["pathName"]=>
string(7) "bar.txt"
}
附录:
当对 in()
使用多个值时,一个文件会在两个值中找到,它会出现在循环中两次。每个 in()
值的相对路径/路径名一次。