如何在PHP中获取符号链接的原始路径?

MC *_*ror 7 php symlink path

我的网络文件夹中有几个文件,包括以下两个:

  • /mydocroot/include/somesubdir/include.inc.php
  • /mydocroot/include/settings.inc.php

其中somesubdir是一个符号链接到其他目录我的磁盘上,一个名为路径,嗯,让我们说/随时随地/别的.

include.inc.php里面,这样写的是:

<?php

require_once "../settings.inc.php";

?>
Run Code Online (Sandbox Code Playgroud)

在我看来,这应该包括/mydocroot/include/settings.php ...但是猜测会发生什么:PHP尝试包含/anywhere/settings.inc.php,而不是 /mydocroot/include/settings.inc.php.

好像PHP会自动解析符号链接.

我怎样才能避免这种情况并包含我的settings.inc.php文件?

Jas*_*son 2

最直接的解决方案是始终使用绝对路径。有多种方法可以做到这一点,从每次需要时对路径进行硬编码,到在脚本顶部一次对路径进行硬编码并引用它,再到动态计算出路径并在脚本顶部设置一次。脚本。

第三个选项是大多数现成的 CMS 使用的选项,无需完全了解文件结构即可运行。

为什么您要以这种方式使用符号链接目录?