|
|
@ -1,44 +1,33 @@ |
|
|
|
<?php |
|
|
|
|
|
|
|
// PHP-Wake-On-LAN
|
|
|
|
// Par SVNET Libre
|
|
|
|
|
|
|
|
// GNU GENERAL PUBLIC LICENSE
|
|
|
|
// Version 2, June 1991
|
|
|
|
|
|
|
|
// Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
|
|
|
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
// Everyone is permitted to copy and distribute verbatim copies
|
|
|
|
// of this license document, but changing it is not allowed.
|
|
|
|
|
|
|
|
// La suite : https://git.framasoft.org/svnet/PHP-WOL/blob/master/LICENSE
|
|
|
|
|
|
|
|
$addrmac = $_GET['mac']; |
|
|
|
|
|
|
|
//Préparation du lien pour atteindre l'ordinateur distant
|
|
|
|
class Wol{ |
|
|
|
private $nic; |
|
|
|
public function wake($mac){ |
|
|
|
$host = "udp://".$_GET['host']; |
|
|
|
$this->nic = fsockopen("$host", 9); |
|
|
|
if( !$this->nic ){ |
|
|
|
fclose($this->nic); |
|
|
|
return false; |
|
|
|
} |
|
|
|
else{ |
|
|
|
fwrite($this->nic, $this->pacquet($mac)); |
|
|
|
fclose($this->nic); |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
class Wol { |
|
|
|
private $nic; |
|
|
|
public function wake($mac) { |
|
|
|
$host = "udp://".$_GET['host']; |
|
|
|
$this->nic = fsockopen("$host", 9); |
|
|
|
if ( !$this->nic ) { |
|
|
|
fclose($this->nic); |
|
|
|
return false; |
|
|
|
} else { |
|
|
|
fwrite($this->nic, $this->pacquet($mac)); |
|
|
|
fclose($this->nic); |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//Préparation des paquets à envoyer
|
|
|
|
private function pacquet($Mac){ |
|
|
|
$packet = ""; |
|
|
|
for($i = 0; $i < 6; $i++){$packet .= chr(0xFF);} |
|
|
|
for ($j = 0; $j < 16; $j++){ |
|
|
|
for($i = 0; $i < 12; $i=$i + 2){$packet .= chr(hexdec(substr($Mac, $i, 2)));} |
|
|
|
} |
|
|
|
private function pacquet($Mac) { |
|
|
|
$packet = ""; |
|
|
|
for($i = 0; $i < 6; $i++){$packet .= chr(0xFF); |
|
|
|
} |
|
|
|
for ($j = 0; $j < 16; $j++) { |
|
|
|
for($i = 0; $i < 12; $i=$i + 2) { |
|
|
|
$packet .= chr(hexdec(substr($Mac, $i, 2))); |
|
|
|
} |
|
|
|
} |
|
|
|
return $packet; |
|
|
|
} |
|
|
|
} |
|
|
|