查詢

exec()函式—用法及示例

「 儲存命令輸出的陣列 」


函式名:exec() 

適用版本:所有 PHP 版本(包括 PHP 4、PHP 5 和 PHP 7)

用法: exec(string $command, array &$output, int &$return_var): string|false

引數說明: $command:要執行的命令。可以是一個簡單命令,也可以是一個帶有選項和引數的複雜命令。注意:在 Windows 系統中,命令需要使用雙引號括起來。 $output:用於儲存命令輸出的陣列。每行輸出會作為陣列元素儲存在 $output 中。 $return_var:用於儲存命令的返回值。如果命令成功執行,則返回值為 0,否則返回一個非零值。

返回值: 如果命令成功執行,則返回最後一行輸出;如果命令執行失敗或出錯,則返回 false。

示例1:執行簡單命令

$output = array();
$return_var = 0;
exec('dir', $output, $return_var);
// 輸出命令執行結果
print_r($output);
// 輸出命令返回值
echo $return_var;

上述示例中,執行了一個簡單的命令 dir(Windows 系統下的檢視目錄命令),將命令輸出儲存在 $output 陣列中,並將命令返回值儲存在 $return_var 變數中。最後,使用 print_r() 函式列印命令輸出的結果,使用 echo 輸出命令的返回值。

示例2:執行帶引數的命令

$output = array();
$return_var = 0;
exec('ls -al', $output, $return_var);
// 輸出命令執行結果
print_r($output);
// 輸出命令返回值
echo $return_var;

上述示例中,執行了一個帶有選項和引數的複雜命令 ls -al(列出當前目錄下所有檔案和資料夾,並顯示詳細資訊),將命令輸出儲存在 $output 陣列中,並將命令返回值儲存在 $return_var 變數中。最後,使用 print_r() 函式列印命令輸出的結果,使用 echo 輸出命令的返回值。

注意事項:

  1. exec() 函式在執行命令時需要作業系統的支援,因此在不同作業系統下命令的使用方式可能會有所差異。
  2. exec() 函式被系統管理員視為潛在的安全風險,使用時需要謹慎,確保只執行可信的命令,並對命令引數進行正確的過濾和驗證,以防止命令注入攻擊。
補充糾錯
上一個函式: Executable::execute()函式
下一個函式: exif_imagetype()函式
熱門PHP函式
分享連結