2013-10-09 47 views
0

如何運行「.exe」文件拋出我的PHP類? 或者還有其他方法可以做到嗎?如何運行「.exe」文件拋出PHP類

我已經使用

exec(); 
passthru(); 

的功能,但它給我的錯誤,我的代碼:

$path = "C:\Program Files\Softland\doPDF 7\dopdf.exe"; 

$result = passthru('$path 2>&1'); 

錯誤:

'$path' is not recognized as an internal or external command, operable program or batch file. 
+4

這是超級安全的。 – Kermit

+2

'Throw'還是'through'? –

+0

只需將單引號轉換爲雙引號。 –

回答

2

這不是一個很好的做法,但。 ...

$result = passthru($path.' 2>&1'); 

$result = passthru("$path 2>&1"); 

你應該(因爲你可以看到),把單引號(即防止變量評估和替換),或把雙qoutes(允許變量替換)之外$path可變

+0

Woot!最後有人顯示串接,我發誓沒有人知道如何連接字符串與變量這些天... – SmokeyPHP

+1

@SmokeyPHP:顯然不是所有的用戶可以自己做到這一點:P – DonCallisto

1

您需要如果你想通過變量值來替代$路徑用雙引號所以

$result = passthru("$path 2>&1"); 
0

的問題是,你使用單引號,所以傳遞到外殼的字符串字面上「$ PATH 2> & 1'。在PHP中,變量替換不會發生在單引號中,只有雙引號。

所以你需要連接字符串或將其放在雙引號中。

$ result = passthru(「$ path 2> & 1」);