Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

WakeOnLanCommand.php 780B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: robin
  5. * Date: 11/24/15
  6. * Time: 5:17 PM
  7. */
  8. namespace App\Http\Business\Commands;
  9. class WakeOnLanCommand extends AbstractCommand
  10. {
  11. /**
  12. * @return bool
  13. */
  14. public function exec()
  15. {
  16. $data = $this->_command->getData();
  17. $args = [
  18. 'wakeonlan',
  19. '-i',
  20. escapeshellarg($data['IP']),
  21. '-p',
  22. escapeshellarg($data['Port'])
  23. ];
  24. foreach ($data["MACs"] as $mac) {
  25. $args[] = escapeshellarg($mac);
  26. }
  27. $cli = implode(' ', $args);
  28. $code = 0;
  29. $output = [];
  30. exec($cli, $output, $code);
  31. if ($code != 0) {
  32. abort(500, "Wakeonlan failed with code " . $code);
  33. }
  34. }
  35. }