我有一个带符号链接的文件系统结构,如下所示:
folder123
index.php
config.php -> symlink to shared/config.php
shared
config.php
Run Code Online (Sandbox Code Playgroud)
我在命令行上运行index.php,index.php包含config.php,它是某个其他文件夹中文件的符号链接.
如何从config.php脚本中了解index.php文件路径?所需的结果是"folder123"(以及它的完整路径),而不是"共享".所以,我不能使用__FILE__.
这适用于脚本,由浏览器运行(至少在我的情况下,它与folder123 - 基础目录相同):
$_SERVER['DOCUMENT_ROOT']
Run Code Online (Sandbox Code Playgroud)
我也需要命令行的东西.
看起来像
$_SERVER['PWD']
Run Code Online (Sandbox Code Playgroud)
是我需要的东西,但它没有记录,所以我觉得它不是一个可靠的方法.此外,您需要将其与SCRIPT_FILENAME组合以获得所需的结果 - PWD显示运行脚本的目录,而不是它的完整路径.
getcwd看起来很有前途,但它可以通过chdir改变 - 如果我找不到更好的选择,我会使用它.
Exp*_*lls 10
我不确定是否有办法确定哪个文件包含文件,但是你可以获得正在运行的程序的名称(index.php在这种情况下)$argv[0],或者可能$_SERVER['argv'][0]是前者不可用.
//config.php
//running path
$path = dirname(realpath($argv[0]));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5021 次 |
| 最近记录: |