作者LaPass (LaPass)
看板PHP
標題Re: [請益] 執行exe問題
時間Thu Feb 13 12:43:51 2014
※ 引述《forptt (上線專用)》之銘言:
: 我用exec()執行"C:\test\test.exe"
: 都沒反應。
: 後來改用
: $cmd = "C:\test\test.exe";
: if (substr(php_uname(), 0, 7) == "Windows"){
: pclose(popen("start /B ". $cmd, "r"));
: }
: else {
: exec($cmd . " > /dev/null &");
: }
: 就能成功執行了。
: 但是把test.exe搬移位置並把$cmd路徑改成$cmd = "c:\Program Files\test\test.exe"
: 就一直出現can not find "c:\Program" 的錯誤訊息,
: 我確認檔案路徑沒錯。
: 2個問題請教:
: 1. 怎麼順利用exec()成功執行.exe檔案
: 2. 我覺得是函式路徑出現空白字元的問題
: 煩請好心大大幫我解答一下
: 謝謝
$cmd = "c:\Program Files\test\test.exe";
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
//等於
//exec("C:\Program Files\test\test.exe > /dev/null &");
//請注意空白
}
改成
exec(escapeshellarg($cmd) . " > /dev/null &");
應該就可以了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.219.211
※ 編輯: LaPass 來自: 118.163.219.211 (02/13 12:46)
推 forptt:仍然不行呢~謝謝 02/13 13:35
推 rickysu:$cmd = "c:\\Program Files\\test\\test.exe"; 02/13 13:54
推 forptt:沒辦法呢~一直出現Can not find Program....的錯誤訊息 02/13 14:24