【发布时间】:2013-07-23 16:03:53
【问题描述】:
我正在使用 chdir(),这是我第一次在更改目录时遇到问题。
好吧,当我更改目录时,我使用 chdir(directory_name);但是当我检查当前目录或者如果我尝试访问我第一次进入的目录中存在的另一个目录时,我会遇到错误,因为实际目录没有改变
编辑:抱歉没有显示任何代码,但我找到了解决方案。我创建一个 $_SESSION 来存储当前目录和更改时的新目录。
if(!isset($_SESSION['dir'])) {
chdir("../../filesystem");
$_SESSION['dir'] = getcwd();
} else {
chdir($_SESSION['dir']);
}
【问题讨论】:
-
尝试将
ini_set('display_errors', 'On');添加到您的PHP脚本顶部,或检查服务器错误日志;chdir调用可能失败了,而且 PHP 的错误处理非常糟糕,以至于在其默认配置中它不会费心告诉你它,除非你特意指定你想要得到通知。 -
如果您使用 chdir 试图解决相对路径包含的问题,您可能只会让事情变得更糟。您将破坏当前正确解析的所有内容。
-
你使用
session_start()吗? -
是的,我在文件开头使用了 session_start()