gpt4 book ai didi

php - 如何获取调用 PHP 脚本的目录

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:34 26 4
gpt4 key购买 nike

我在某个目录中有一个 PHP 脚本。当我从命令行调用它时,getcwd()、__DIR__ 和 exec("pwd") 返回脚本本身的目录,而不是 pwd。

例如从/tmp 调用/some/place/test.php:

echo(getcwd());        // prints /some/place

echo(exec("pwd")); // prints /some/place

echo(__DIR__); // prints /some/place

echo($_SERVER["PWD"]); // prints /tmp

$_SERVER["PWD"] 具有我需要的值,但文档中未提及 http://php.net/manual/en/reserved.variables.server.php

最佳答案

对我来说,解决方案是使用 getcwd() .
我从我的测试中得到的结果与你的不同。

关于 $_SERVER['PWD']:
正如他们在 Undefined index 'PWD' in $_server 中解释的那样,使用它是危险的。
正如您所说,它没有出现在文档中,并且不能保证它会按预期工作。

关于 getcwd():
这是我做过的测试。请考虑 testGetCwd.php 仅包含一个 echo getcwd();

// working dir: /home/me
// phpfile dir: /var/www/phpfiles

cd /home/me
php /var/www/phpfiles/testGetCwd.php
// echo /home/me

注意:
- 如果您正在使用 chdir,请小心,因为这将更改当前工作目录。
- 似乎从 PHP 4PHP 5

的功能发生了变化

以上所有几点都可以解释您遇到的行为。

关于php - 如何获取调用 PHP 脚本的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com