如果路径为../b
且当前目录为/var/www/a/c
,则realpath为/var/www/a/b
但如果b
不存在,则realpath()返回false。
即使目录不存在,是否可以获得相同的路径?
答案 0 :(得分:4)
它不像realpath()
这样的预定义函数格式,因为它不可能以可靠的方式进行。
例如,在MacOS上,执行ls /etc/..
,您认为您将获得/
的目录列表。问题是/etc
是指向/private/etc
的软链接,因此ls /etc/..
会为您提供/private
的列表。
如果链接尚不存在,则无法提前计算,这就是为什么在没有所有文件/目录已存在的情况下,没有任何功能可以解决一般意义上的问题。
换句话说,你很可能必须编写自己的函数来解决你的具体问题。