如何使PHP / Apache使用符号链接相对于链接而不是目标

时间:2016-02-18 17:27:11

标签: php apache

如果我有像

这样的目录结构

source/ | file.php | subdir/ | | text.txt ("Wrong Text")

Directory1/ | test1.php -> source/file.php | subdir/ | | text.txt ("Right Text 1")

Directory2/ | -test2.php -> source/file.php | subdir/ | | text.txt ("Right Text 2")

file.php在subdir中显示并显示text.txt的内容,发生的事情是我总是得到"错误的文字"显示是因为它解析了符号链接的目标而不是符号链接本身的子目录的相对路径。

我不确定这是来自Apache还是PHP。是否有任何方法使其工作,以便在执行时,相对路径查看符号链接本身而不是链接的目标,因此我得到"右文本1"和#34;右文2"从输出?

1 个答案:

答案 0 :(得分:1)

略微修改:PHP dirname returns symlink path

if (is_link(__FILE__)) {
    echo file_get_contents(readlink(dirname(__FILE__))."/subdir/file.txt");
}else{
    echo file_get_contents(dirname(__FILE__)."/subdir/file.txt");
}