PHP中如果要直接執行Commnad Line的話,有三個function可以使用

  • system()
  • exec()
  • shell_exec()

system()會直接將結果印出,且只能抓到最後一行,通常用在直接執行的操作上

//return_var為系統回傳碼
$last_line = system("ls -la", $return_var);
echo $last_line . "\t" . $return_var . "\n";

exec()不會印出結果,並會將回傳的結果存成陣列

$last_line = exec("ls -la", $return_arr, $errorCode);
echo $last_line;
print_r($return_arr);
echo $errorCode; // 0 為正常執行

shell_exec()不會印出結果,並會將回傳的結果存成字串

$line = shell_exec("ls -la");
echo $last_line;
Categories: PHP