Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果 path 是../b并且当前目录是/var/www/a/c,那么 realpath 将是/var/www/a/b
../b
/var/www/a/c
/var/www/a/b
但如果b不存在,realpath() 返回 false。
b
即使目录还不存在,是否可以获得相同的路径?
它不能作为预定义的函数格式使用realpath(),因为它不可能以可靠的方式进行。
realpath()
举个例子,在 MacOS 上ls /etc/..,你会认为你会得到一个/. 事情是虽然这/etc是一个软链接/private/etc,但这样做ls /etc/..会给你一个/private.
ls /etc/..
/
/etc
/private/etc
/private
如果链接尚不存在,则无法提前计算,这就是为什么在没有所有文件/目录已经存在的情况下,没有功能可以在一般意义上解决它。
换句话说,您很可能必须编写自己的函数来解决您的特定问题。