如果我有像
这样的目录结构 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"从输出?
答案 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");
}