[PHP] Inhalt aus Textdatei lesen

  • Hallo zusammen,


    derzeit bin ich dabei mit der PowerShell meine Server zu überwachen und mit Hilfe von PHP in mein Service Dashboard zu übertragen. Die meiste Arbeit macht das PowerShell Script und das macht auch das was es tun soll.


    Probleme habe ich mit PHP. Derzeit lese ich die Textdatei mit folgendem Code aus:


    PHP
    1. $array00 = file(".\Output\StatusServer00.txt");


    Die Ausgabe erfolgt dann so:


    PHP
    1. echo $array00[3];


    Das klappt auch. Diese Zeile beinhaltet dann das Datum und die Uhrzeit der letzten Prüfung.
    Jetzt habe ich aber auch eine IF Abfrage ob der Test erfolgreich war oder nicht:


    PHP
    1. if ($array00[1] == "Success") {
    2. echo '<img width="70px" src="./Images/ServerOnline.png" alt="online">';
    3. }
    4. else {
    5. echo '<img width="70px" src="./Images/ServerOffline.png" alt="offline">';
    6. }


    In dieser Zeile kann entweder "Success" oder "TimedOut" stehen. Die Ausgabe mit echo klappt auch ohne Probleme nur will das IF nicht so ganz. Es springt immer direkt in das else obwohl "Success = true ist.


    Klappt die Abfrage eventuell nicht mit einem array? Wie kann ich es sonst lösen?

    "I tell computers to do things. Sometimes they listen."


    Chris Kragt | kragt itservices | Informatikkaufmann

    Web: www.kragt.io | Mail: hi [at] kragt.io

  • Soweit ich weiß müsste die Abfrage problemlos auch mit einem Array funktionieren.


    Testweise kannst du ja einfach eine Hilfsvariable definieren:



    Wenn es dann noch immer nicht geht, füge hinter die Hilfsvariable folgendes ein:

    Code
    1. print_r($Hilfe);break;


    Dann bekommst du angezeigt, was in dem Feld bzw. in der Hilfsvariable drinsteht und kannst überprüfen woran es liegt.


    Sonst sieht mir die IF Abfrage sauber und korrekt aus, sofern in array00[1] auch wirklich Success drinsteht.

  • Testweise kannst du ja einfach eine Hilfsvariable definieren:


    Hab ich schon versucht. Bringt auch nix. Die Ausgabe ist auch "Success". Die Textdatei sieht auch sauber aus. Keine Leerzeichen oder irgend welche anderen (Steuer)Zeichen, weder in der Ausgaben noch in der Datei.


    PHP
    1. print_r($Hilfe);break;


    Die Ausgabe ist "Success" oder eben "TimedOut" je nachdem.

    "I tell computers to do things. Sometimes they listen."


    Chris Kragt | kragt itservices | Informatikkaufmann

    Web: www.kragt.io | Mail: hi [at] kragt.io



  • Funktioniert auch nicht.


    Im Anhang mal eine der Textdateien. Vielleicht hilft das ja irgendwie.
    Erstellt wird der Inhalt per Umleitung also ganz einfach:


    Code
    1. $pingresult.Status >> $OutputPath\StatusServer00.txt


    EDIT: Ich werds mal komplett anders machen und das PowerShell Script direkt in die Datenbank schreiben lassen. Dann brauch ich keine Arrays und vielleicht klappt das ja besser. Danke an alle die geholfen haben :)

    Dateien

    "I tell computers to do things. Sometimes they listen."


    Chris Kragt | kragt itservices | Informatikkaufmann

    Web: www.kragt.io | Mail: hi [at] kragt.io

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Tacqila ()

  • Nur um das ganze abzuschließen:


    das PowerShell Script greift nun direkt auf die Datenbank zu und speichert dort die Daten. Die Sache mit den TXT Files habe ich komplett raus genommen.
    Warum das mit der IF Abfrage nicht funktioniert hat weis ich aber trotzdem nicht.


    Wie auch immer. Problem umgangen.

    "I tell computers to do things. Sometimes they listen."


    Chris Kragt | kragt itservices | Informatikkaufmann

    Web: www.kragt.io | Mail: hi [at] kragt.io