Re: [請益] 執行exe問題

看板PHP作者 (LaPass)時間11年前 (2014/02/13 12:43), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串2/5 (看更多)
※ 引述《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)

02/13 13:35, , 1F
仍然不行呢~謝謝
02/13 13:35, 1F

02/13 13:54, , 2F
$cmd = "c:\\Program Files\\test\\test.exe";
02/13 13:54, 2F

02/13 14:24, , 3F
沒辦法呢~一直出現Can not find Program....的錯誤訊息
02/13 14:24, 3F
文章代碼(AID): #1I_4sAGe (PHP)
討論串 (同標題文章)
文章代碼(AID): #1I_4sAGe (PHP)