Prog/PHP/WakeOnLAN¤ò¹Ô¤¦¥¯¥é¥¹
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
¥È¥Ã¥×
¿·µ¬
°ìÍ÷
¸¡º÷
¥Ø¥ë¥×
³«»Ï¹Ô:
**¤Ï¤¸¤á¤Ë [#oec9b375]
perl¤äruby¡¢ASPÅù¤Ç¤Ï¡¢·ë¹½¥µ¥ó¥×¥ë¤¬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢PHP¤Î...
Wake On Lan¤ò¤¹¤ë¤Ë¤Ï¡¢ÂоݤΥ³¥ó¥Ô¥å¡¼¥¿¤ÎMAC¥¢¥É¥ì¥¹¤ò...
Windows¤Ç¤Ï¡¢¡ÖDomain View--¡×¡ÊWAKI Toshihito»áºî¡ËÅù¤¬...
**¥µ¥ó¥×¥ë¥³¡¼¥É [#p14bfd57]
<?php
//------------------------------------------------------...
// Wake On Lan ÍÑ¥¯¥é¥¹
//
// ɬ¿Ü¥Ç¡¼¥¿¡§
// IP¥¢¥É¥ì¥¹(IPV4)¡¢MAC¥¢¥É¥ì¥¹(xx:xx:xx:xx:xx:xx)
// ¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¡Ê¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢IP¥¢¥É...
//------------------------------------------------------...
class CWakeOnLan
{
//--------------------------------------------------...
//¥×¥í¥Ñ¥Æ¥£
var $p_sBroadCastAddress; //¥Ö¥í¡¼...
//--------------------------------------------------...
//¥á¥½¥Ã¥É
//¥³¥ó¥¹¥È¥é¥¯¥¿
function CWakeOnLan($arg_sBroadCast = "")
// ¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¡Ê¾Êά²Ä¡Ë
{
//¥¨¥é¡¼¤Îɽ¼¨¤ò°ìÀÚ¤ä¤á¤ë
# error_reporting(0);
$this->p_sBroadCastAddress = $arg_sBroadCast;
}
//----------------------------------
//¥Þ¥¸¥Ã¥¯¥Ñ¥±¥Ã¥È¤ÎÀ¸À®
function _MakeMagicPacket($arg_sMacAddress)
{
$binMagicPacket = "";
//³«»ÏÉôʬ
for ($i = 0; $i < 6; ++$i){
$binMagicPacket.= chr(0xff);
}
//MAC¥¢¥É¥ì¥¹¤ÎÊÑ·Á
$aryMacAddr = explode(":", $arg_sMacAddress, 6);
$strBuffer = pack("H*H*H*H*H*H*",
$aryMacAddr[0],
$aryMacAddr[1],
$aryMacAddr[2],
$aryMacAddr[3],
$aryMacAddr[4],
$aryMacAddr[5]);
for ($i = 0; $i < 16; ++$i){
$binMagicPacket.= $strBuffer;
}
return($binMagicPacket);
}
//----------------------------------
//IP¥¢¥É¥ì¥¹¤«¤é¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ò²òÀÏ
function _AnalBroadCastAddress($arg_sIpAddress)
{
$strBroadCastAddress = "";
//IP¥¢¥É¥ì¥¹Ê¸»úÎó¤ò¡¢ÇÛÎó¤Ëʬ³ä
$aryIpAddr = explode(".", $arg_sIpAddress, 4);
//¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤òȽÃǤ·¤Æ¡¢¥¢¥É¥ì¥¹¤òÂåÆþ
if ($aryIpAddr[0] < 127){
//Class A
$aryIpAddr[1] = "255";
}
if($aryIpAddr[0] < 191){
//Class B
$aryIpAddr[2] = "255";
}
if($aryIpAddr[0] < 223){
//Class C
$aryIpAddr[3] = "255";
//ÇÛÎó¤ò¡¢IP¥¢¥É¥ì¥¹Ê¸»úÎó¤ËÌ᤹
$strBroadCastAddress = join(".", $aryIpAddr);
}else{
}
return($strBroadCastAddress);
}
//----------------------------------
//¥Þ¥¸¥Ã¥¯¥Ñ¥±¥Ã¥È¤ÎÁ÷¿®
function _SendMagicPacket($arg_sMacAddress, $arg_sIp...
{
//¥Þ¥¸¥Ã¥¯¥Ñ¥±¥Ã¥È¤ÎÀ¸À®
$binMagicPacket = $this->_MakeMagicPacket($arg...
if ( $this->p_sBroadCastAddress == "" ){
//¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤...
if ( $arg_sIpAddress != "" ){
//¤«¤Ä¡¢°ú¿ô¤ËÌÜŪ¤Î¥Þ¥·¥ó¤ÎIP¥¢¥É¥ì¥¹¤¬...
$this->p_sBroadCastAddress =
$this->_AnalBroadCastAddress($arg_sI...
} else {
//Á´¤¯»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤
print("Not specifed broadcast Address.");
return;
}
}
//Á÷¿®
$fp = fsockopen("udp://".$this->p_sBroadCastAd...
if (!$fp) {
print("ERROR: $errno - $errstr\n");
} else {
fwrite($fp, $binMagicPacket);
fwrite($fp, $binMagicPacket);
fclose($fp);
}
}
}
?>
<?php
//------------------------------------------------------...
//¼ÂºÝ¤Î»È¤¤Êý
require_once("./wakeonlan.inc");
$WakeOnLan = new CWakeOnLan("192.168.0.255");
$WakeOnLan->_SendMagicPacket("00:11:22:33:44:55");
// or $WakeOnLan->_SendMagicPacket("00:11:22:33:44:5...
?>
----
[[¥×¥í¥°¥é¥ß¥ó¥°]]
½ªÎ»¹Ô:
**¤Ï¤¸¤á¤Ë [#oec9b375]
perl¤äruby¡¢ASPÅù¤Ç¤Ï¡¢·ë¹½¥µ¥ó¥×¥ë¤¬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢PHP¤Î...
Wake On Lan¤ò¤¹¤ë¤Ë¤Ï¡¢ÂоݤΥ³¥ó¥Ô¥å¡¼¥¿¤ÎMAC¥¢¥É¥ì¥¹¤ò...
Windows¤Ç¤Ï¡¢¡ÖDomain View--¡×¡ÊWAKI Toshihito»áºî¡ËÅù¤¬...
**¥µ¥ó¥×¥ë¥³¡¼¥É [#p14bfd57]
<?php
//------------------------------------------------------...
// Wake On Lan ÍÑ¥¯¥é¥¹
//
// ɬ¿Ü¥Ç¡¼¥¿¡§
// IP¥¢¥É¥ì¥¹(IPV4)¡¢MAC¥¢¥É¥ì¥¹(xx:xx:xx:xx:xx:xx)
// ¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¡Ê¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢IP¥¢¥É...
//------------------------------------------------------...
class CWakeOnLan
{
//--------------------------------------------------...
//¥×¥í¥Ñ¥Æ¥£
var $p_sBroadCastAddress; //¥Ö¥í¡¼...
//--------------------------------------------------...
//¥á¥½¥Ã¥É
//¥³¥ó¥¹¥È¥é¥¯¥¿
function CWakeOnLan($arg_sBroadCast = "")
// ¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¡Ê¾Êά²Ä¡Ë
{
//¥¨¥é¡¼¤Îɽ¼¨¤ò°ìÀÚ¤ä¤á¤ë
# error_reporting(0);
$this->p_sBroadCastAddress = $arg_sBroadCast;
}
//----------------------------------
//¥Þ¥¸¥Ã¥¯¥Ñ¥±¥Ã¥È¤ÎÀ¸À®
function _MakeMagicPacket($arg_sMacAddress)
{
$binMagicPacket = "";
//³«»ÏÉôʬ
for ($i = 0; $i < 6; ++$i){
$binMagicPacket.= chr(0xff);
}
//MAC¥¢¥É¥ì¥¹¤ÎÊÑ·Á
$aryMacAddr = explode(":", $arg_sMacAddress, 6);
$strBuffer = pack("H*H*H*H*H*H*",
$aryMacAddr[0],
$aryMacAddr[1],
$aryMacAddr[2],
$aryMacAddr[3],
$aryMacAddr[4],
$aryMacAddr[5]);
for ($i = 0; $i < 16; ++$i){
$binMagicPacket.= $strBuffer;
}
return($binMagicPacket);
}
//----------------------------------
//IP¥¢¥É¥ì¥¹¤«¤é¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤ò²òÀÏ
function _AnalBroadCastAddress($arg_sIpAddress)
{
$strBroadCastAddress = "";
//IP¥¢¥É¥ì¥¹Ê¸»úÎó¤ò¡¢ÇÛÎó¤Ëʬ³ä
$aryIpAddr = explode(".", $arg_sIpAddress, 4);
//¤½¤ì¤¾¤ì¤Î¥¯¥é¥¹¤òȽÃǤ·¤Æ¡¢¥¢¥É¥ì¥¹¤òÂåÆþ
if ($aryIpAddr[0] < 127){
//Class A
$aryIpAddr[1] = "255";
}
if($aryIpAddr[0] < 191){
//Class B
$aryIpAddr[2] = "255";
}
if($aryIpAddr[0] < 223){
//Class C
$aryIpAddr[3] = "255";
//ÇÛÎó¤ò¡¢IP¥¢¥É¥ì¥¹Ê¸»úÎó¤ËÌ᤹
$strBroadCastAddress = join(".", $aryIpAddr);
}else{
}
return($strBroadCastAddress);
}
//----------------------------------
//¥Þ¥¸¥Ã¥¯¥Ñ¥±¥Ã¥È¤ÎÁ÷¿®
function _SendMagicPacket($arg_sMacAddress, $arg_sIp...
{
//¥Þ¥¸¥Ã¥¯¥Ñ¥±¥Ã¥È¤ÎÀ¸À®
$binMagicPacket = $this->_MakeMagicPacket($arg...
if ( $this->p_sBroadCastAddress == "" ){
//¥Ö¥í¡¼¥É¥¥ã¥¹¥È¥¢¥É¥ì¥¹¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤...
if ( $arg_sIpAddress != "" ){
//¤«¤Ä¡¢°ú¿ô¤ËÌÜŪ¤Î¥Þ¥·¥ó¤ÎIP¥¢¥É¥ì¥¹¤¬...
$this->p_sBroadCastAddress =
$this->_AnalBroadCastAddress($arg_sI...
} else {
//Á´¤¯»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤È¤
print("Not specifed broadcast Address.");
return;
}
}
//Á÷¿®
$fp = fsockopen("udp://".$this->p_sBroadCastAd...
if (!$fp) {
print("ERROR: $errno - $errstr\n");
} else {
fwrite($fp, $binMagicPacket);
fwrite($fp, $binMagicPacket);
fclose($fp);
}
}
}
?>
<?php
//------------------------------------------------------...
//¼ÂºÝ¤Î»È¤¤Êý
require_once("./wakeonlan.inc");
$WakeOnLan = new CWakeOnLan("192.168.0.255");
$WakeOnLan->_SendMagicPacket("00:11:22:33:44:55");
// or $WakeOnLan->_SendMagicPacket("00:11:22:33:44:5...
?>
----
[[¥×¥í¥°¥é¥ß¥ó¥°]]
¥Ú¡¼¥¸Ì¾: