PHP:如何将当前工作目录设置为与执行脚本的目录相同

时间:2011-03-10 00:15:36

标签: php getcwd

我正在将我的网站从一台服务器转移到另一台服务器。我有一些PHP脚本使用is_readable函数,它使用当前的工作目录。

在旧服务器上,当我调用getcwd()时,它会输出正在执行脚本的文件夹。在新服务器上,它输出根目录'/'。

我想知道如何配置PHP以使用当前文件夹而不是'/'。 我不想更改任何已在旧服务器上运行的PHP代码。我可以配置新服务器,但不知道要更改的设置。我正在使用apache2,如果有帮助的话。

编辑:好像我的工作目录不像我想的那样。当我创建一个testFile.php和echo getcwd()时,它显示了php文件所在的目录。但在我的问题文件中,在同一目录中,getcwd()显示为'/'

3 个答案:

答案 0 :(得分:21)

chdir(__DIR__);

chdir(dirname(__FILE__));

(请参阅chdirmagic constants)。

但这应该是默认的。

答案 1 :(得分:5)

这在CLI mode:

中是正常的
  

它不会将工作目录更改为脚本的目录。 (-C和--no-chdir开关保持兼容性)

快速解决方法

chdir(dirname(__FILE__));

答案 2 :(得分:2)

如果> = PHP 5.3,您可以使用dirname(__FILE__)__DIR__获取脚本所在的当前目录。

相关问题