最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

利用PHP远程唤醒计算机,发送唤醒魔术包

时间:2014-05-27 23:47来源:未知 作者:最模板zuimoban 点击:
这个功能得计算机主板和网卡支持才可以,具体请百度。 view source print? 01 private function wakeOnLan( $ip , $mac , $port ){ 02 03 $addr_byte = explode ( : , $mac ); 04 $hw_addr = ; 05 for ( $i =0; $i 6; $i ++) 06 $hw_addr .= c

这个功能得计算机主板和网卡支持才可以,具体请百度。

view source
 
print?
01 private function wakeOnLan($ip,$mac,$port){
02  
03     $addr_byte explode(':'$mac);
04     $hw_addr '';
05     for ($i=0; $i <6; $i++)
06         $hw_addr .= chr(hexdec($addr_byte[$i]));
07     $msg chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
08     for ($i = 1; $i <= 16; $i++)
09         $msg .= $hw_addr;
10  
11     $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
12     if ($socket == false) {
13         echo "create socket failed!\n";
14         echo "error:'".socket_last_error($socket)."' - " . socket_strerror(socket_last_error($socket));
15         return FALSE;
16     else {
17         $opt_ret = socket_set_option($socket,SOL_SOCKET, SO_BROADCAST, TRUE);
18         if($opt_ret <0) {
19             echo "setsockopt() failed, error: " . strerror($opt_ret) ."\n";
20             return FALSE;
21         }
22         if(socket_sendto($socket$msgstrlen($msg), 0, $ip$port)) {
23             echo "唤醒数据包发送成功!";
24             socket_close($socket);
25             return TRUE;
26         else {
27             echo "唤醒数据包发送失败!";
28             return FALSE;
29         }
30     }
31 }
32  
33 public function actionTestWakeOnLan(){
34     $mac '00:E0:4C:68:07:43';
35     $ip '10.3.3.99';
36     $this->wakeOnLan($ip,$mac,7);
37 }

(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容