如何获取当前符号链接目录的父目录?
问题描述:
我想获得当前脚本的绝对路径,它实际上是符号链接的。如何获取当前符号链接目录的父目录?
__FILE__
总是指向真实文件而不是符号链接,而$_SERVER['SCRIPT_FILENAME']
指向符号链接。
我想登录$_SERVER['SCRIPT_FILENAME']
的目录树,但追加/..
并调用realpath
导航实际文件的目录树。
下面的代码我跑:
print dirname(__FILE__);
print '<br />';
print realpath(dirname(__FILE__) . '/..');
print '<br />';
print $_SERVER['SCRIPT_FILENAME'];
print '<br />';
print realpath(dirname($_SERVER['SCRIPT_FILENAME']) . '/..');
上述输出码:
/Users/mridang/Hello/Application
/Users/mridang/Hello
/Applications/MAMP/htdocs/1609/modules/mymodule/ctrl.php
/Users/mridang/Hello
我如何可以导航了符号链接的目录,而不解决符号链接?
答
使用readlink($ path)读取符号链接的目标。你可以检查它是否与is_link的符号链接:
例子:
<?php
if (is_link($link)) {
echo(readlink($link));
}
echo readlink(dirname(__FILE__));
?>