Frage zu eregi()

Dieses Thema Frage zu eregi() im Forum "Windows XP Forum" wurde erstellt von Luca_, 22. Nov. 2006.

Thema: Frage zu eregi() Ich möchte gerne auf einer meiner Linux Rechner div. Statistiken erstellen. Dazu verwende ich PHP4 Scripte, welche...

  1. Ich möchte gerne auf einer meiner Linux Rechner div. Statistiken erstellen.
    Dazu verwende ich PHP4 Scripte, welche mir Werte in eine MySQL DB speichert, welche dann später vom Web Frontend wieder ausgelesen werden und evtl. ein paar hübsche Grafiken erstellt.

    Eines dieser Scripte soll mir die Temperetaur meiner Festplatten in die DB speichern.
    Code:
    <?php
    
      mysql_connect('localhost','user','pw');
      mysql_select_db('server');
    
      $_hddtemp = /usr/sbin/hddtemp;
    
      $sql = SELECT id,disk FROM hddtemp;;
      $result = mysql_query($sql);
      if(mysql_num_rows($result)) {
        while ($row = mysql_fetch_array($result)) {
          //print_r($row);
    
          $output = shell_exec($_hddtemp. .$row[disk]);
          if (!eregi (No such device,$output)) {
            $out = explode( , $output);
            //print_r($out);
            $sql = UPDATE hddtemp SET temp = .$temp. WHERE id = .$row[id].;;
            echo yes\n;
          } else {
            echo no\n;
          }
        }
      }
    ?>
    
    Alle Festplatten sind in der DB erfasst und werden hier ausgelesen und dann für jede einzelne den Wert->temp' geupdatet.
    Jedoch funktioniert die if - Abfrage mit eregi() nicht:
    Code:
    root@ragnaros /testdata/stats/hddtemp
     > php4 update.db.php
    yes
    /dev/hdc: open: No such device or address
    
    yes
    yes
    yes
    yes
    yes
    yes
    yes
    /dev/sdg: open: No such device or address
    
    yes
    /dev/sdh: open: No such device or address
    
    yes
    
    In der DB vorhanden sind folgende Disks: hda, hdc, sda bis sdh
    Im System eingebaut sind diese: hda, sda bis sdf (die restlichen kommen später noch)

    Er gibt mir bei jeder Disk->yes' aus, was nicht sein soll.
    Wie ihr seht ist die Fehlermeldung von->hddtemp'->No such device or address' und genau darauf überprüfe ich auch den $output String. Geht aber nicht

    Warum?
    Müsste doch so funktionieren?

    Zweite Frage
    Kann ich der Funktion shell_exec() oder dem ganzen Script irgendwie beibringen, bei Fehlermeldungen kein Output zu liefern?
     
Die Seite wird geladen...

Frage zu eregi() - Ähnliche Themen

Forum Datum
Frage zu Testversion Windows Server-Systeme 29. Aug. 2016
Win7: Win32 Fehlermeldung und andere Fragen Windows 7 Forum 9. Juli 2016
Frage zu Windows-Prozessen :) Windows 7 Forum 4. Apr. 2016
Abfrage der Anmeldedaten bei Zugriff auf Netzlaufwerke Windows 7 Forum 30. März 2016
Frage zu Win 10 Windows 10 Forum 8. März 2016