私はアイデアを持っています、そして私はローカルホストで実行されている単一のphpローカルWebページを持っています
そして私は3つのボタンにGUIを使いたい:シャットダウン、スリープ、そして再起動
PHPはこれらの操作を許可していますか?PHPでクラスやメソッドを書く準備はできていますか?
Apache/PHP 構成が の使用を許可するようにセットアップされている場合はsystem
、それを使用できます。
*nix システムの場合:
system('shutdown now'); // shutdown
// or
system('reboot'); // reboot
system('shutdown -r now'); // also reboot :)
Windows の場合:
system('shutdown -t -s 0'); // shutdown
// or
system('shutdown -r -t 0'); // reboot
*nix でのスリープ/スタンバイに関する限り、大きく異なります。
注shell_exec()
:またはも使用できますexec()
。
編集:
user1597430 のコメントによると、* nix システムでは、-h
(halt) オプションを渡すことができます。これは、基本的に CPU をシャットダウンして停止しますが、主電源は切断しません。
system('shutdown -h now'); // shutdown and halt
system('shutdown -P now'); // shutdown and power off
Server faultには、これに関する優れた回答がいくつかあります。
ほとんどすべての言語は、システム コールを実行する必要があります。
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 サーバーによってコンパイルされたインタープリター言語であり、エンド ユーザーによって実行されるように通知されるため、おそらくそのような動作にはかなり厄介です。チェーンソーで爪を切るようなものです...
Windows では、PHP を使用して .bat ファイルを実行できます。
<?php echo exec('reboot.bat'); ?>
.bat ファイルの内容:
シャットダウンの例:
C:\Windows\system32\shutdown.exe -s -c "コンピューターをシャットダウンします。"
再起動の例:
C:\Windows\system32\shutdown.exe -r -c "最新の更新のために再起動しています。"
StandByModus
rundll32.exe powrprof.dll,SetSuspendState
php からシェル スクリプトを呼び出して、コンピューターをシャットダウン、スリープ、再起動することができます。Linux ベースのマシンでは実行できますが、Windows PC で可能かどうかはわかりません。