Grafik in Abhängigkeit von .txt

  • Hallo,
    ich muss für mein Projekt eine je nachdem welcher Inhalt in einer .txt steht, entweder die eine Grafik laden oder die andere.
    Als Beispiel:
    Wenn status.txt den Inhalt 0 hat, soll die Grafik rot.jpg geladen werden.
    Wenn status.txt den Inhalt 1 hat, soll die Grafik grün.jpg geladen werden.


    Ich hoffe es ist verständlich was ich meine.
    Hat irgendjemand ne idee, wie ich das realisieren könnte?


    grüße
    eSmurf

  • Du möchtest sozusagen den Inhalt einer Text-Datei als Konfigurations-Einstellung ansehen? ;)
    Ich würde dir hierfür eine Datenbank (--> MySQL) empfehlen, aber mit einer Datei geht es selbstverständlich auch.

    PHP
    1. $content = file_get_contents("path/to/file.txt");
    2. if ($content === 1) {
    3. $grafik = "grün";
    4. } else {
    5. $grafik = "rot";
    6. }
    7. echo '<img src="'.$grafik.'.jpg" />';
  • Ich bin mir nicht sicher aber den Typ-Vergleich solltest du hier nicht verwenden da die Rückgabe von file_get_contents meines Wissens nach unabhängig des Inhaltes ein String ist und nicht Numeric selbst wenn nur Zahlen drin stehen.


    Anmerkung: Gerade probiert, die Rückgabe ist ein String.

  • Ich hab es mit:


    gelöst.
    Aber es ist schon ein neues Problem aufgetreten....
    Und Zwar ist die Grafik ein Link. diesem wird noch der Funktionsaufruf "StatusSchreiben" angehangen. DIese Funktion schreibt eine 1 in die Textdatei. Das funktioniert soweit auch. Allerdings Aktuallisiert die Grafik sich erst bei einem erneutem Klick.
    Das soll sie aber schon nach einem tun. Ich muss dem Link also irgendwie noch den Befehl mitgeben, die Seite zu aktuallisieren.
    Laut Internet soll das per

    HTML
    1. <a href="javascript:location.reload()"></a>

    gehen.
    ABER die Werte sollen trotzdem noch übergeben werden.
    Darum meine Frage, wie kann ich das machen?


    Hier nochmal mein aktueller Link:

    PHP
    1. <a href="uhr-einstellung.php?StatusSchreiben=an" id="wecker_an">
  • Genau sowas ist sowas von unerwünscht :cursing:

    nutzungsbedingungen schrieb:


    möchtest du nur etwas an einen vorherigen Beitrag, auf den noch niemand geantwortet hat hinzufügen, so ändere bitte einfach deinen Beitrag davor ab, um Doppelposts zu vermeiden. Dies gilt auch, wenn der vorherige Beitrag schon eine Weile zurück liegt. Posts um Threads zu pushen in der Art von "weiß denn dazu niemand etwas??" oder "schaut hier noch jemand rein" sind nicht erlaubt. Solltest du mehrere Teile eines Beitrags inhaltlich voneinander trennen wollen, so mache dies doch bitte durch eine Trennlinie oder kleine Überschriften deutlich, anstatt mehrere Beiträge zu erstellen.


    Ich verstehe nicht wieso du egal welcher Inhalt in der Datei ist, du das gleiche anzeigst haha.

    PHP
    1. /* NICHT HINSCHAUEN :D
    2. if ( $inhalt == 1)
    3. {
    4. echo '<img src="grafik/wecker-icon/wecker-an_aktiv.png" alt="">';
    5. }
    6. elseif ( $inhalt == 0)
    7. {
    8. echo '<img src="grafik/wecker-icon/wecker-an_inaktiv.png" alt="">';
    9. }*/


    Was willst du erreichen, das beim klicken auf den link die Seite neu geladen wird?

    HTML
    1. <a href="seitenName"><img></a>


    Vertsehe das nicht ganz.


    EDIT, kapiert...
    okay

    HTML
    1. <a href="scriptName.php?blaa=an"></a>


    scriptName.php

    PHP
    1. <?php
    2. //..... am ENDE vom script
    3. header("location: seitenName");
    4. ?>
  • Sorry, dass werde ich beim nächsten mal beachten.


    Die gleichen Grafiken sind es nicht. DIe eine nennt sich ...aktiv.png, die andere ...inaktiv.png
    Aber ich gebe zu, man muss schon sehr genau hinsehen um das zu sehen.

    Hmm. wenn ich das in mein Skript schreibe, geht leider gar nichts mehr und die Fehlermeldung

    Code
    1. Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.


    wird mir angezeigt :(

  • ähhhm lass es mich dir erklären :)
    Dein Skript was das Status schreiben abfängt muss in einer externen Datei ausgelagert sein, die beim klicken durch den Link aufgerufen wird.
    Dann muss in header() der Name der Seite stehen, auf die nach dem klicken umgeleitet werden soll, z.b. die Seite mit dem Link.