Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP系统(“cd\”);不起作用_Php_Directory_System_Cd - Fatal编程技术网

PHP系统(“cd\”);不起作用

PHP系统(“cd\”);不起作用,php,directory,system,cd,Php,Directory,System,Cd,我曾经通过php文件使用系统命令..cd\正在工作,但几次尝试后,它突然停止:|无论我做什么 <?php $command = array("cd \","dir"); $result = system($command[0], $return); ?> 试试看 在linux模块中: $command = array("cd \\","dir"); 在windows mod中: $command = array("cd /","dir"); Windows支持

我曾经通过php文件使用系统命令..cd\正在工作,但几次尝试后,它突然停止:|无论我做什么

<?php
    $command = array("cd \","dir"); 
    $result = system($command[0], $return);
?>
试试看

在linux模块中:

$command = array("cd \\","dir");
在windows mod中:

$command = array("cd /","dir");

Windows支持前斜杠
/
和反斜杠
\
,因此,只要使用前斜杠,从长远来看,您应该是交叉兼容的,并且不会加重问题

<?php
    $command = array("cd /","dir");
    $result = system($command[0], $return);
?>



如果您有任何错误,请发布这些错误,因为问题可能不是目录斜杠,因为您说它以前工作正常。

PHP有自己的更改目录命令:。但是,这可能不完全符合您的要求。

在我的测试中(在Win 7和XP上),我发现有必要为目录转义
\
(即使用
\
)。或者可以使用正斜杠。另外,为什么不使用PHP而不是系统调用呢

<?php
    echo getcwd() . "\n";
    chdir("\\");
    echo getcwd() . "\n";
?>

我想我解决了这个问题。。
PHP中的system()命令不会创建cmd.exe的实例
相反,它只执行命令并退出。
这就是为什么在使用CD命令更改目录时

…system()创建的实例的目录已更改,然后退出。我希望我的理论是正确的xD

为什么不能使用分隔符在同一次调用system()中使用两个命令

<?php
$result = system("cd \;".$command[0], $return);?>


我想使用系统命令..我实际上是在xp上运行的,对吗now@kapitanluffy:您可能有很好的理由想使用系统调用,但您的评论没有解释任何事情。然而,如果没有充分的理由,我会认为使用PHP调用更容易。@RobertPitt:虽然我99.44%确定正斜杠可以工作,但我还没有测试它。现在已经测试过了,答案已经更新了。好吧,你说得对。因为我正在进行试验。我正在尝试在浏览器中创建cmd。ow和我不打算使用power shellxD@kapitanluffy:我已经在XP上进行了测试,它在那里工作。我的答案经过编辑以反映这一点。如果您需要从windows迁移到linux操作系统,那么需要更改很多行!就像我在Greenmart上说的那样,我想使用系统命令。我现在正在xp上运行
<?php
$result = system("cd \;".$command[0], $return);?>