函式名: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
輸出命令的返回值。
注意事項:
exec()
函式在執行命令時需要作業系統的支援,因此在不同作業系統下命令的使用方式可能會有所差異。exec()
函式被系統管理員視為潛在的安全風險,使用時需要謹慎,確保只執行可信的命令,並對命令引數進行正確的過濾和驗證,以防止命令注入攻擊。