所以我们有一个像somepath/**
这样的父母,所以如果有人发送给我们somepath/myfolder/file
,我们会收到true
,如果我们收到someotherpath/
,我们会得到false
}}。那么如何找出路径是否符合某个父母?
答案 0 :(得分:1)
您需要规范化两个路径,然后执行simple substring comparison以查看相关路径是否以规范化参考路径开头。
规范化包括将当前工作目录添加到相对路径,如果文件系统不区分大小写,可能会解析符号链接,甚至可能测试硬链接。如果要允许文件本身为符号链接,则必须在规范化之前提取路径部分。
我在linux中使用realpath()
函数完成了这项工作,即使参考路径包含符号链接,它也能很好地工作。不过,不知道如何用提升来做到这一点。