实现一个PHP函数
问题描述:
我想要实现2执行函数PHP函数类似实现一个PHP函数
public function definition($source){
shell_exec("");
shell_exec("");
}
里面现在我想里面有什么2 exec函数是为了实现它,首先,第一后执行一个再被执行,执行第二个。在第一个我想实现CD窗口下(移动到文件夹),像
public function definition($source){
shell_exec("cd C:\myfolder");
shell_exec("");
}
enter code here
,并在第二个我想用两个参数运行python脚本,第一个是一个Python脚本,这是位于该文件夹中我刚刚搬进来,第二个是位于同一文件夹中的形象,像
public function definition($source){
shell_exec("cd C:\myfolder");
shell_exec("python myScript.py myImage.jpg");
}
现在我想什么是从函数定义传递参数给第二蟒蛇论点有点像
public function definition($source){
shell_exec("cd C:\myfolder");
shell_exec("python myScript.py".$source);
}
现在我想听听你的解决方案,我已经尽力了,但并没有设法解决它。谢谢你的帮助和时间。
答
您可以使用&一次在窗口上运行两个命令。所以,而不是做两个shell_exec你会做一个。它采取的形式。
shell_exec('CMD1 & CMD2');
我相信它会打开一个新的shell每次你做的时候了shell_exec,所以当你尝试运行Python命令,你实际上是在错误的目录。
如果这不起作用,您可能还会尝试使用两个&符号而不是一个。
shell_exec('CMD1 && CMD2');
希望这对你有用。
答
在Linux上,你可以做这样的:
$cmd = 'command to run';
exec('bash -c "nohup $cmd > /dev/null 2>&1 &"');
一旦exec命令完成这只会进步。
我不知道,如果你能做到这一点在Windows上,但如果可以的话,端部可能会是这样的:
$cmd = 'command to run';
exec('bash -c "$cmd > nul 2>&1 &"');
但是,我不知道是什么的相当于“庆典-c'会。
可能的Windows解决方案:
$shell = new COM("WScript.Shell");
$shell->run("your command", 0, false);
你也可以这样做:
public function definition($source)
{
chdir('C:\myfolder');
shell_exec('python myScript.py' . $source);
# chdir back to your script directory if needed
}
我不知道如果PHP将CHDIR为 'C:\ MyFolder文件' 使用该命令。
如果您打算投票,请添加评论。 – 2014-09-21 01:48:49
这不是我的投票结果。尽管对我没有什么帮助,但我已经给了你至少+1的尝试。 :/ – 2014-09-21 01:59:33
对不起,我无法提供更多帮助,因为我不使用Windows。第一个代码就是我在Linux上使用的代码。我用它的一个版本更新了它,它可能在Windows上工作(猜测)。 – 2014-09-21 02:04:47