2013-07-08 124 views
0

我使用exec()來執行文件。我需要傳遞的一個參數是字符串。如何將字符串變量傳遞給php函數?

shell_exec('/home/technoworld/Videos/LinSocket/client "Hi hello"');這工作正常!

但是,當我把字符串轉換成無功即$ S =「你好你好」和

'shell_exec('/home/technoworld/Videos/LinSocket/client . "$s"')`. It does not works. If 

'shell_exec('/home/technoworld/Videos/LinSocket/client . $s')' goes in infinite wait! 

任何想法如何通過$ S的功能?

+0

PHP基本語法規則:' ''引用的字符串不會**解釋變量LES。你正在傳遞'$'和's'到shell。 –

回答

2
shell_exec('/home/technoworld/Videos/LinSocket/client "'.$s.'"'); 

或用雙引號來分析變量

shell_exec("/home/technoworld/Videos/LinSocket/client '$s'"); 

shell_exec("/home/technoworld/Videos/LinSocket/client \"$s\""); 
+0

我認爲'$ s'也需要在逃脫的雙引號之間,判斷工作命令。這將評估爲'shell_exec('/ home/technoworld/Videos/LinSocket/client Hi Hello');'爲這兩者。 – Sumurai8

+0

這真的很棒,一切運作良好! – user123

1

最好的辦法是使用escapeshellarg命令

shell_exec('/home/technoworld/Videos/LinSocket/client '.escapeshellarg($s));