我正在尝试在文件系统抽象中强制执行根目录.我遇到的问题如下:
API允许您读取和写入文件,不仅是本地文件,还包括远程存储文件.因此,各种各样的规范化正在进行中.目前它不支持相对路径,所以这样的事情是不可能的:
$filesystem->write('path/to/some/../relative/file.txt', 'file contents');
Run Code Online (Sandbox Code Playgroud)
我希望能够安全地解析路径,因此输出将是:path/to/relative/file.txt.正如在为此错误/增强(https://github.com/FrenkyNet/Flysystem/issues/36#issuecomment-30319406)创建的github问题中所述,它需要做更多的事情,只需拆分段并删除它们因此.
此外,由于包处理远程文件系统和不存在的文件,realpath是不可能的.
那么,在处理这些路径时应该怎么做呢?