Wake on Lan via PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wake on Lan via PHP

    Hallo erstmal,

    ich suche ein PHP Scribt mit dem man Rechner via WOL an schalten kann.

    Ihn etwa so was: http://stephan.mestrona.net/wol/

    Vielleicht könnte man das Scribt dann noch an ne SQL DB anschließen das man Rechner die man öfter braucht dort eintragen kann.

    Wenn einer ne Idee hätte wäre das echt super.

  • #2
    http://stephan.mestrona.net/wol/hilfe.php ... scroll mal ganz runter!

    Kommentar


    • #3
      WOL

      Neija funzt net so ganz

      Hätte etwas mehr erhofft.

      So mit eingabe Maske
      Zuletzt geändert von MC_ASUS; 31.12.2005, 13:46.

      Kommentar


      • #4
        ein ganz fauler bist du ....

        versuche es doch mal selber mit der maske....
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          WOL

          Ich weiß geb ich zu.
          Aber dazu kommt noch das ich von PHP bloss 50 % verstehe.

          Kommentar


          • #6
            fürs formhandling sollten die 50% alle male reichen. sind letztendlich nur grundlagen.

            schattenbaum.net bringt dich vielleicht auf den richtigen weg.

            Kommentar


            • #7
              Hi,

              ich habe auch so ein Problem, mein Hauptproblem ist aber, dass ich kein PHP kann und der ehemalige Admin mir ein Script hinterlassen hat, welches nach Wechsel von Linux auf Win (Beides Apache) nicht mehr so recht will.
              Code:
               
              <?php
              
              $ip = array();
              $mac = array();
              
              // Remote workstation
              $ip[0] = "192.168.11.191";
              $mac[0] = "00:08:74:a2:2f:c4";
              
              // Workstation MK
              $ip[1] = "192.168.11.150";
              $mac[1] = "00:12:3F:4E:A2:7F";
              
              // Workstation SN
              $ip[2] = "192.168.11.198";
              $mac[2] = "00:18:8B:1A:3E:2C";
              
              // Workstation SF
              $ip[3] = "192.168.11.199";
              $mac[3] ="00:12:3F:85:8C:DD";
              
              // Notebook CS
              $ip[4] = "192.168.11.152";
              $mac[4] = "00:12:3F:0F:23:39";
              
              
              // Workstation SF
              $ip[3] = "192.168.11.165";
              $mac[3] ="00:0D:56:99:7A:82";
              
              $no = sizeof($ip);
              $ping = array();
              $wol = array();
              
              for ($i = 0; $i < $no; $i++) {
                	$ping[$i] = 'ping -c2 ' . $ip[$i] . '; echo $?';
              	$wol[$i] = "wakeonlan -i 192.168.11.255 " . $mac[$i];
              }
              
              $link = "http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/wol.php?pon=";
              
              if($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_GET['pon'])) {
              	exec($wol[$_GET['pon']]);
                  $booting = $_GET['pon'];
              }
              
              ?>
              
              
              <?php
                              echo "<p>We have ".$no." remote workstations:</p>";
              				for ($i=0; $i<$no; $i++) {
                                  echo "<p>" . gethostbyaddr($ip[$i]) . " (" . $ip[$i] . ") is powered ";
                                  if (exec ($ping[$i]) == "0") {
                                 		echo "<font color='#00C000'>ON</font>";
                                  }
                                  else {
                                  	echo "<font color='#FF0000'>OFF</font> ";
                                      if (isset($booting)) {
                                      	if ($booting == $i) {
              	                        	echo "<i>(starting..)</i>";
                							}
                                      }
                                      else {
                                      	echo "(power <a href='".$link.$i."'>on</a>)";
                                      }
                                  }
                              	echo "</p>";
                              }
                              exec('killall ping');
                          ?>
                          </p>
              		</div>
              		<div class="line705"><img src="media/line705.gif" alt="" width="705" height="1" /></div>
              	</div>
              </div>
              <?php if (isset($err)) echo"<script type='text/javascript'>alert('".$err."');</script>"; ?>
              Das ist das gaze Script.

              Was mich etwas stutzig macht, ohne mich in PHP auszukennen ist folgende Zeile:

              Code:
              $link = "http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/wol.php?pon=";
              Bezieht der sich auf ein Folder names "PHP_Self"?
              Wenn ja, ist das ein Standartordner unter Linux oder einer speziellen PHP Version?

              Das Tool zeigt eigentlich auch an, wenn ein Rechner Online ist, geht jetzt aber auch nicht mehr.

              Kann mir jemand Helfen, ohne das ich für eine Seite PHP lernen muss?

              Danke und Gruß,

              Clemens

              Kommentar


              • #8
                Bezieht der sich auf ein Folder names "PHP_Self"?
                Nein, natürlich nicht! Mach ne Testausgabe mit echo, dann siehst du, was drin steht.

                So ganz ohne Problembeschreibung ist es schwer dir zu helfen.

                Kommentar


                • #9
                  ...nicht mehr so recht will. ist keine Fehlerbeschreibung. Regeln lesen, error_reporting ( E_ALL ); einbauen und sagen was genau nicht funktioniert, welche Fehlermeldungen es gibt.
                  Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                  Kommentar


                  • #10
                    Sorry, für meine unganauen Worte.

                    Ich bekomme keine Fehlermeldung, wenn ich einen Rechner einschalten will, sagt er auch "Starting..." nur startet er den Rechner nicht. Auch stehen alle Rechner auf "Off", wenn sie an sind, sollte er eigentlich "On" anzeigen.

                    Wie mache ich ein Echo mit einer Testausgabe?
                    Sorry, habe ich keine Ahnung von PHP.

                    Clemens

                    Kommentar


                    • #11
                      fürs formhandling sollten die 50% alle male reichen. sind letztendlich nur grundlagen
                      Wie mache ich ein Echo mit einer Testausgabe?
                      mit echo vielleicht
                      OffTopic:

                      @tobi
                      Bist du sicher, dass er bei seiner obigen Frage wirklich 50 % PHP versteht



                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Hi Tobi,

                        danke für Deine Antwort, aber hilfreich ist diese nicht...
                        Ich sagte doch, dass ich von PHP keine Ahnung habe und das ich es wegen einer PHP Seite nicht lernen möchte.

                        Kannst Du mir genauer sagen, wo und wie ich das Echo platzieren muss?

                        Kommentar


                        • #13
                          Kannst Du mir genauer sagen, wo und wie ich das Echo platzieren muss?
                          Ungefähr eine Zeile nachdem du der fraglichen Variable einen Wert zugewiesen hast, vielleicht. Und besser var_dump() und nicht echo benutzen. Gibt dir mehr Infos als ein simples echo

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            Fang lieber mit dem Error-reporting an.
                            PHP-Code:
                            error_reporting E_ALL ); 
                            als allererste Zeile. (Nach dem <?php natürlich).
                            ich glaube

                            Kommentar


                            • #15
                              Original geschrieben von Tase
                              Ich sagte doch, dass ich von PHP keine Ahnung habe und das ich es wegen einer PHP Seite nicht lernen möchte.

                              Kannst Du mir genauer sagen, wo und wie ich das Echo platzieren muss?
                              Wer nicht mal ein echo einbauen kann, sucht ja wohl eindeutig nach einer fertigen Lösung oder einem Samariter, der das Problem komplett löst. Deine Chancen steigen, wenn du das auch so kommunizierst. Es ist kontraproduktiv, im Scriptgesucheforum das eigene Script zu posten und dann Hilfe zu erwarten. Dafür gibt es den Zweig Projekthilfe!

                              Kommentar

                              Lädt...
                              X