0目覚まし時計のロゴPHP / リモートでPCをウェイクアップするためのJavaScript

私が持っています HTPC そして私のネットワーク上のネットワークサーバー。私のサーバーは常にオンになっています, しかし HTPC 使用していないときはスリープします。リモートで録画をスケジュールしたい場合は、ウェイクアップする方法が必要です HTPC.  私が思いついた解決策は、サーバーにWebページを提供することです。 (パスワード保護されました) それはウェイク HTPC 、その後のリモコンアプリのWebインターフェイスにリダイレクト HTPC.  以下は興味のある人のためのコードです…

[php language=“htmlscript”]<HTML>
<ヘッド>
<meta http-equiv=‘refresh’ content=’11;url=address of htpc here’ />
<script type=“text/javascript”>
// time is the num­ber of seconds left
// name is the text part of the con­tain­er to insert count­down in
// num is the unique id of the con­tain­er. Allows for more than 1 per page
func­tion countdown(時間, 名前, num)
{
// grab the ele­ment object of the count­down container
count­down­Div = document.getElementById(name + num);
// cal­cu­late num­ber of minutes from the seconds
minutes = Math.floor(time / 60);
// remainder is num­ber of seconds
seconds = time % 60;
// add the cur­rent count­down dis­play to the con­tain­er specified
countdownDiv.innerHTML = ‘after ’ + seconds + ’ seconds, please wait’;
もし(time == 1)countdownDiv.innerHTML = ‘after ’ + seconds + ’ second, please wait’;
// if time is up remove the edit div, oth­er­wise repeat every second
もし(時間 <= 0) countdownDiv.innerHTML = ‘now…’;
else setTimeout(‘countdown( + –time + ,“ ‘ + 名前 + ’ ”,“ ‘ + num + ‘”);」, 1000);
}
</スクリプト>
</ヘッド>
<body bgcolor=‘#000022’ style=‘text-align: cen­ter; col­or: 白; pad­ding-top: 30PX;」>
<h2>
テレビ inter­face will auto­mat­ic­ally load <div id=“div_name1” style=“display:inline;」></DIV>
<script type=“text/javascript”>countdown(12, “div_name”, 1)</スクリプト>
</h2>
<?PHP
flush();
$addr_byte = explode(:」, “MAC Address of htpc here”);
$hw_addr = ”;
のために ($a=0; $a <6; $a++) $hw_addr .= chr(hexdec($addr_byte[$a]));
$msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
のために ($a = 1; $a <= 16; $a++) $msg .= $hw_addr;
$s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$opt_ret = socket_set_option($s, 1, 6, TRUE);
もし(socket_sendto($s, $msg, strlen($msg), 0, “loc­al sub­net address here”, “7”)) {socket_close($s);return TRUE;}ほかに {return FALSE;}
?>
</体>
</HTML>[/PHP]

Leave a Reply