我想使用passthru()方法和命令行来更改工作目录..
这是php脚本
<?php
passthru("chdir C:/Documents and Settings/svn");
print passthru("dir");
?>
但是,它没有将工作目录更改为C:/ Documents and Settings / svn .. 它从当前目录输出文件.. 我该如何解决这个问题?
答案 0 :(得分:2)
您当前的代码有几个问题:
答案 1 :(得分:0)
当通过passthru执行的命令终止时,当前工作目录不会传播到PHP,因为它是一个子进程,与PHP不同。
在您的情况下,您可以将所需目录附加到“dir”命令,如下所示:
passthru("dir \"C:/Documents and Settings/svn\"");
我不建议在你的情况下直接使用PHP chdir()
函数,因为它可能有令人讨厌的副作用,特别是如果你从脚本中包含其他PHP文件。
如果您使用安全模式,它也可能无法正常工作。
答案 2 :(得分:0)
passthru(&#34; chdir C:/ Documents and Settings / svn; dir&#34;);