See Also

User Contributed Notes 2 notes

I changed the Magic Packet function to this. I beleave that an function may not return any value, only an true/false (in the most way's).<?PHPfunction wol_magic_packet($mac,$addr='255.255.255.255') {//Requirements__________________________ // You need to load the php_sockets.dll (in case of Windows, don't // know @ linux, compile with --socket-support i beleave ). // Otherwise he cannot find the socket_create function //Usage________________________________ // $addr: // You will send and broadcast tho this addres. // Normaly you need to use the 255.255.255.255 adres, so i made it as default. So you don't need // to do anything with this. // $mac: // You will WAKE-UP this WOL-enabled computer, you need to add the MAC-addres here. // //Return________________________________ // TRUE: When socked was created succesvolly and the message has been send. // FALSE: Something went wrong // //Example_1_____________________________ // When the message has been send you will see the message "Done...." // // if ( wol_magic_packet ( '00:00:00:00:00:00' ) ) // echo 'Done...'; // else // echo 'Error while sending'; // //Example_2_____________________________ // To loop more computers: // // $arr = array( // '00:00:00:00:00:00', // '00:00:00:00:00:00' // ); // foreach($arr as $this_id => $this_mac) // if (! wol_magic_packet ( $this_mac )) // echo 'Error while sending to ['. $this_mac .']<br />'."\r\n"; //___________________________________________

//Check if it's an real MAC-addres and split it into an arrayif (!preg_match("/([A-F0-9]{2}[-:]){5}[A-F0-9]{2}/",$mac,$maccheck)) return false;$addr_byte = preg_split("/[-:]/",$maccheck[0]);