2012-06-12 103 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」);' –