我正在寫一個小腳本來執行APC電源條上的電源控制。我的腳本工作得很好,但是我將它擴展到有24個插座的單元,並且我不希望腳本爲每個端口斷電,重新啓動和加電,因此我決定使用循環如下:
for ($Outlet = 1; $Outlet <= 24; $Outlet++) {
//Power On
if(isset($_POST['APCPowerOnA$Outlet'])) {
$shell_command = "snmpset -v 1 -c $community $apc01_ip $mib.$Outlet i 1";
$return=array();
exec($shell_command, $return);
}
//Power Off
if(isset($_POST['APCPowerOffA$Outlet'])) {
$shell_command = "snmpset -v 1 -c $community $apc01_ip $mib.$Outlet i 2";
$return=array();
exec($shell_command, $return);
}
//Reboot
if(isset($_POST['APCPowerRebootA$Outlet'])) {
$shell_command = "snmpset -v 1 -c $community $apc01_ip $mib.$Outlet i 3";
$return=array();
exec($shell_command, $return);
}
我包括其中具有每端口的以下代碼中的另一個文件本文件:
<form method="post" action="[XXX]">
<input type="submit" name="APCPowerOnA1" value="Power On" id="APCPowerOnA1" />
<input type="submit" name="APCPowerOffA1" value="Power Off" id="APCPowerOffA1" />
<input type="submit" name="APCPowerRebootA1" value="Reboot Port" id="APCPowerRebootA1" />
</form>
注動作=「[XXX]」只是這個論壇,不要的佔位符't想給公共論壇上的網址:)
隨着其中每個端口,每次我將ID和名稱增加1(本例爲端口1)。
當我運行腳本,替換變量:$ Outlet與說1端口響應命令,但是當我試着循環它,似乎沒有任何工作。當我爲「APCPowerOnA $ Outlet」做迴應時,我得到APCPowerOn1,APCPowerOn2 ... APCPowerOn24,那爲什麼POST不起作用?我錯過了明顯的東西?
在此先感謝!
將$ _POST ['APCPowerOffA $ Outlet']更改爲$ _POST [「APCPowerOffA $ Outlet」]? –