2012-06-12 79 views
0

我在WAMP上使用php。 我想在一个数字参数的目录abc下运行一个外部程序prog.exe。 在DOS命令行下面的命令工作正常windows上的php命令行

c:\abc\prog.exe 1234 

,但是当我在PHP脚本做它不运行。

$val="1234"; 
$comm = passthru("C:\abc\prog.exe ".$val) 

$comm = passthru("dir"); 
echo $comm; 

工作正常。

我运行Windows 7

P.S我也试过system()shell_exec()

+0

你说的 '不运行' 是什么意思?在prog.exe中没有获取参数? – Ryan

+0

页面似乎正在加载,但没有任何反应,直到超时.. – Ank

+0

prog.exe获取参数..它我回声(无论我通过系统传递),然后运行它在命令行中,其罚款。 – Ank

回答

3

\需要被转义为\\,否则你应该使用单引号。

之一:

passthru("C:\\abc\\prog.exe ".$val); 

OR:

passthru('C:\abc\prog.exe '.$val); 
+0

第二个' passthru'应该使用'/'对吗? – flowfree

+0

@bsdnoobz呃...我不这么认为? –

+0

或'passthru(“C:/abc/prog.exe $ val”);' –