如何在没有获取真实路径的情况下使用 __dir__?
How do I use __dir__ without getting the realpath?
假设我有一个符号 link 从 /some/real/location
指向 /some/fake/location
在那个假设的目录中,我有一个名为 blah.php
的文件,内容为:
#!/usr/bin/php
<?php echo __dir__; ?>
然后我从命令行执行 blah.php
,如下所示:
php /some/fake/location/blah.php
输出为
/some/real/location
如何获取当前 PHP 文件的目录 而无需 解析任何符号 links?
由于 __DIR__
会自动解析符号链接,您可能需要改用 $_SERVER["SCRIPT_FILENAME"]
。它将 returns 当前正在执行的脚本的绝对路径名。
到处谷歌搜索后,似乎有一百万其他人需要 __dir__
不解析符号链接。然而很遗憾,答案是没有答案。
假设我有一个符号 link 从 /some/real/location
/some/fake/location
在那个假设的目录中,我有一个名为 blah.php
的文件,内容为:
#!/usr/bin/php
<?php echo __dir__; ?>
然后我从命令行执行 blah.php
,如下所示:
php /some/fake/location/blah.php
输出为
/some/real/location
如何获取当前 PHP 文件的目录 而无需 解析任何符号 links?
由于 __DIR__
会自动解析符号链接,您可能需要改用 $_SERVER["SCRIPT_FILENAME"]
。它将 returns 当前正在执行的脚本的绝对路径名。
到处谷歌搜索后,似乎有一百万其他人需要 __dir__
不解析符号链接。然而很遗憾,答案是没有答案。