2012-11-24 78 views
2

我有一個想法,關閉PC的方式,我已經在本地主機上是否有使用PHP

運行一個單一的PHP本地網頁,我想使用的GUI爲3個按鈕:關閉睡眠重新啓動

PHP允許我進行這些操作嗎?準備好在PHP中編寫類,方法嗎?

+3

你應該問自己:「PHP是這個工作的正確工具嗎?」點擊「開始 - >關閉」不是很容易嗎? –

+2

我想學習PHP的功能和可用性,並且我想在php中提高自己的功能:) – hakiko

+2

查看shell_exec()函數。我認爲你也必須使用shell腳本(接收函數調用) –

回答

8

如果您的Apache/PHP配置設置爲允許使用system,那麼您可以使用它。

對於* nix系統:

system('shutdown -r now'); // shutdown 
// or 
system('reboot');   // reboot 

對於Windows:

system('shutdown -t -s 0'); // shutdown 
// or 
system('shutdown -r -t 0'); // reboot 

More info here.

至於在* nix休眠/待機而言,它改變了很多。


注意:您還可以使用shell_exec()exec()

+2

「shutdown -r now」 - 我相信-r意味着在任何當代* nix上重啓。 「正在關機」已關閉。 – Sergei

0

您還可以從PHP shell腳本將關閉,睡眠和重新啓動你的計算機就可以基於Linux機器上完成,但不能確定是否可以在Windows PC

+0

嗨Pankaj,如果你包括了你的答案會更有用一個例子。 – jmort253

4

幾乎所有的語言將有做一個系統調用。

shutdown -s -t 0 

這或多或少是神奇的子彈。 Java中,例如,可以把它像這樣:

public static void main(String arg[]) throws IOException{ 
    Runtime rt = Runtime.getRuntime(); 
    Process proc = rt.exec("shutdown -s -t 0"); 
    System.exit(0); 
} 

PHP會是這樣的

<?php 
exec ('shutdown -s -t 0'); 
?> 

但事情是PHP是一種解釋型語言,由Web服務器編譯信號通知由最終用戶運行,所以對於這種行爲可能會很麻煩。這就像使用電鋸修剪指甲一樣...

0

您可以在Windows上使用PHP執行.bat文件。

<?php echo exec('reboot.bat'); ?> 

內容.bat文件的:

關機例如:

C:\Windows\system32\shutdown.exe -s -c "Shutdown the computer."

重啓例如:

C:\Windows\system32\shutdown.exe -r -c "Rebooting for latest updates."

StandByModus

rundll32.exe powrprof.dll,SetSuspendState
+0

http://wordpress.roman-pantring.de/php-reboot-windows-apache-server/ –