看板 PHP 關於我們 聯絡資訊
※ 引述《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