Ankündigung

Einklappen
Keine Ankündigung bisher.

letzte Aktuallisierung einer Datei und Prüfen der Zeit mit Ausgaber einer Ampel

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

  • eloms
    antwortet
    Unbenannt.jpg
    Hallo

    Ja und nein, die erste und die zweite, die dritte ist die Ausgabe und ich benötige die mitte ( gelb ) nicht, da ja nur 2 Ergebnisse benötigt werden.

    mfg
    Zuletzt geändert von eloms; 24.05.2022, 17:07.

    Einen Kommentar schreiben:


  • Sempervivum
    antwortet
    So, ich denke, jetzt verstehe ich es: Sowohl der erste als auch der dritte Codeblock sind jeweils drei Mal vorhanden. D. h. Du würdest zwei verschiedene Funktion brauchen, die erste wie ich sie schon gepostet habe und die zweite müsste dann $farbe zurück geben, nicht wahr?

    Einen Kommentar schreiben:


  • Sempervivum
    antwortet
    Wird das so eingesetzt?
    Wenn ja, muss das im "gleichen" PHP Teil stehen?
    also

    PHP Anfang
    funktion
    Ausgabe 1
    PHP Ende

    Text
    .......
    Text

    PHP Anfang
    Ausgabe 2
    PHP Ende
    Ja, das trifft zu. Die Definition einer Funktion oder Variablen gilt auf der ganzen Seite, auch wenn Definition oder Zugriff in verschiedenen PHP-Blöcken stehen. Beides muss also nicht im gleichen PHP-Teil stehen.

    Das mit der Variablen $farbe muss ich mir noch genauer ansehen.

    Einen Kommentar schreiben:


  • eloms
    antwortet
    Hallo

    Zu der Variable $farbe, der 3. Code oben zeigt die Verwendung. Wenn es eine neue Datei gibt, wird die Classe neu auf b gesetzt und der Text wird für 3 Tage grün. Sonst ist die Classe auf a gesetzt und normal schwarz.
    Bis 17:10 ist das noch grün auf der HP zu sehen.

    Zu dem Code, da ist etwas durcheinander.
    Die Ausgabe ist doppelt

    ampel.jpg

    und die Zeit 172800 ist nicht für die hier verwendete Datei sondern für die mit $farbe.
    Wenn ich das 2. echo weg lasse ist es ok.
    Bei return output; fehlt $.

    Aber kann ich den diesen Code mehrmals ausführen?

    Jetzt wo ich das so lese, ist das vielleicht so !

    PHP-Code:
    Das kommt nach oben

    function ampel($filename$aktualisierung) {
        
    $diff_med $aktualisierung-60// 120 Sekunden bis zur Warnanzeige
        
    $diff_max $aktualisierung+60// 240 Sekunden Zeitzugabe bis Offlineanzeige
        
    if (file_exists($filename)) {
            
    $diff time() - filemtime($filename);
            if (
    $diff_med $diff) {
                
    $output '<span class="css-ampel ampelgruen"><span></span></span>';
            } elseif (
    $diff_max $diff) {
                
    $output '<span class="css-ampel ampelgelb"><span></span></span>';
            } else {
                
    $output '<img src="includes/img/ampelrot.jpg" alt="Bild Ampel rot">';
            }
        } else {
            
    $output 'ERROR: Datei '.$filename.' existiert nicht!';
        }
        return 
    $output;
    }

    das kommt an die erste Ausgabe

    $filename 
    'wetter/wswin-custom-x.html';
    $aktualisierung 600// Zeitabstand der normalen Aktualisierung in Sekunden
    echo ampel($filename$aktualisierung);

    dann Code oder Text

    dann 
    die 2. Ausgabe

    $filename 
    'wetter/irgendetwas.html';
    $aktualisierung 172800// Zeitabstand der normalen Aktualisierung in Sekunden
    echo ampel($filename$aktualisierung);

    wieder Code oder Text
    und 
    die nächste Ausgabe usw 

    Wird das so eingesetzt?
    Wenn ja, muss das im "gleichen" PHP Teil stehen?
    also

    PHP Anfang
    funktion
    Ausgabe 1
    PHP Ende

    Text
    .......
    Text

    PHP Anfang
    Ausgabe 2
    PHP Ende

    usw.
    Ich hoffe das ist verständlich, was ich meine.

    mfg
    Michael
    Zuletzt geändert von eloms; 24.05.2022, 15:20.

    Einen Kommentar schreiben:


  • Sempervivum
    antwortet
    So richtig gleich für die Ampel sind die beiden Codes nicht, ich verstehe nicht ganz, was die Variable $farbe zu bedeuten hat. Ich poste trotzdem mal einen Beispielcode, versuche, diesen so umzuändern, dass er für deine Situation passt:
    PHP-Code:
    function ampel($filename$aktualisierung) {
        
    $diff_med $aktualisierung-60// 120 Sekunden bis zur Warnanzeige
        
    $diff_max $aktualisierung+60// 240 Sekunden Zeitzugabe bis Offlineanzeige
        
    if (file_exists($filename)) {
            
    $diff time() - filemtime($filename);
            if (
    $diff_med $diff) {
                
    $output '<span class="css-ampel ampelgruen"><span></span></span>';
            } elseif (
    $diff_max $diff) {
                
    $output '<span class="css-ampel ampelgelb"><span></span></span>';
            } else {
                
    $output '<img src="includes/img/ampelrot.jpg" alt="Bild Ampel rot">';
            }
        } else {
            
    $output 'ERROR: Datei '.$filename.' existiert nicht!';
        }
        return 
    output
    }
    $filename 'wetter/wswin-custom-x.html';
    $aktualisierung 600// Zeitabstand der normalen Aktualisierung in Sekunden
    echo ampel($filename$aktualisierung);
    $aktualisierung 172800// Zeitabstand der normalen Aktualisierung in Sekunden
    echo ampel($filename$aktualisierung); 
    Zuletzt geändert von Sempervivum; 24.05.2022, 07:25.

    Einen Kommentar schreiben:


  • eloms
    antwortet
    Hallo

    Danke für die Info.
    Ich habe den Code etwas geändert, da ich den Rest nicht benötige.
    Dieser Code ist so 3 mal vorhanden mit geänderter $filename ( Ampel ).
    PHP-Code:
    <?php
    $filename 
    'wetter/wswin-custom-x.html';
    $aktualisierung 600// Zeitabstand der normalen Aktualisierung in Sekunden
    $diff_med $aktualisierung-60// 120 Sekunden bis zur Warnanzeige
    $diff_max $aktualisierung+60// 240 Sekunden Zeitzugabe bis Offlineanzeige
    if (file_exists($filename)) {
        
    $diff time() - filemtime($filename);
        if (
    $diff_med $diff) {
            echo
    '<span class="css-ampel ampelgruen"><span></span></span>';
        } elseif (
    $diff_max $diff) {
            echo
    '<span class="css-ampel ampelgelb"><span></span></span>';
        } else {
            echo
    '<img src="includes/img/ampelrot.jpg" alt="Bild Ampel rot">';
        }
    elseecho'ERROR: Datei '.$filename.' existiert nicht!';
    ?>
    PHP-Code:
    das ist die aktualisierung-news.php
    <?php
    $filenamenw 
    $filename;
    $aktualisierung 172800// Zeitabstand der normalen Aktualisierung in Sekunden
    $diff_med $aktualisierung-60// 120 Sekunden bis zur Warnanzeige
    $diff_max $aktualisierung+60// 240 Sekunden Zeitzugabe bis Offlineanzeige
    if (file_exists($filenamenw)) {
        
    $diff time() - filemtime($filenamenw);
        if (
    $diff_med $diff) {
            
    $farbe "b"// neu grün
        
    } elseif ($diff_max $diff) {
            echo
    '<span class="css-ampel ampelgelb"><span></span></span>';
        } else {
            
    $farbe "a"// alt rot
        
    }
    elseecho'ERROR: Datei '.$filenamenw.' existiert nicht!';
    ?>
    Und dieser ist auch 3 mal vorhanden ( Text mit Update ...Datum ).
    PHP-Code:
     $nj date("Y");
                
    $filename 'includes/news/j'.$nj.'.php';
                include(
    "includes/code-schnipsel/aktualisierung-news.php");
                if (
    file_exists($filename)) {
                    echo
    '<span class="neu'.$farbe.'">Update: '.date("d.m.Y"filemtime($filename));
                    echo
    '</span>';
                } {
                    echo
    '<hr>';
                } 
    und das steht dann in der Navigation.

    Ich habe mir mal die "Funktion" angeschaut, aber wie ich das umstzen soll, da fehlt mir noch der Ansatz.


    mfg
    Michael

    Einen Kommentar schreiben:


  • Sempervivum
    antwortet
    Ich vermute, dass es zwar immer die gleiche Variable ist aber jeweils mit anderen Werten? In dem Fall würde ich aus Gründen der Klarheit und Lesbarkeit doch empfehlen, unterschiedliche Variablennamen zu nehmen.

    Außerdem: Wenn Du den Code mehrfach auf einer Seite hast, würde es sich u. U. anbieten, eine Funktion zu verwenden anstatt ihn zu vervielfachen.

    Einen Kommentar schreiben:


  • eloms
    antwortet
    Hallo

    Ich habe da mal noch eine Frage.

    Wenn man einen Code so wie oben, mehrmals auf einer Seite hinter ein ander hat,
    sollte man die Variable zb. ( $filename oder $aktualisierung ) die ja bei allen gleich ist, ändern oder ist das egal?

    mfg
    Michael

    Einen Kommentar schreiben:


  • eloms
    antwortet
    Hallo
    Auf meinem PC hat es Funktioniert, muss es noch auf der HP testen.
    mfg
    Michael

    Einen Kommentar schreiben:


  • Sempervivum
    antwortet
    Versuche dies:
    PHP-Code:
    $filename 'wetter/wswin-custom-x.html';
    $aktualisierung 600// Zeitabstand der normalen Aktualisierung in Sekunden
    $diff_med $aktualisierung 120// 120 Sekunden bis zur Warnanzeige
    $diff_max $aktualisierung 240// 240 Sekunden Zeitzugabe bis Offlineanzeige
    if (file_exists($filename)) {
        
    $diff time() - filemtime($filename);
        if (
    $diff_med $diff) {
            echo 
    '<span class="css-ampel ampelgruen"><span></span></span>';
        } else if (
    $diff_max $diff) {
            echo 
    '<span class="css-ampel ampelgelb"><span></span></span>';
        } else {
            
    // Tatsächliche Offline-Zeit (Toleranz-Wert diff_max wird abgezogen)
            
    $offline_time_real $diff $diff_max;
            
    // der Rest unverändert 

    Einen Kommentar schreiben:


  • eloms
    antwortet
    Hallo
    nein, noch nicht.
    mfg
    Michael

    Einen Kommentar schreiben:


  • Sempervivum
    antwortet
    Ist die 1. Frage auch erledigt?

    Einen Kommentar schreiben:


  • eloms
    antwortet
    Hallo

    Danke, Funktioniert.

    mfg
    Michael

    Einen Kommentar schreiben:


  • Localfu
    antwortet
    Zu 2:
    Falsche Syntax: Es heißt filemtime und nicht fileatime
    Beispiel:
    PHP-Code:
    $filename 'wetter/wswin-custom-x.html';
    if (
    file_exists($filename)) {
        echo 
    "$filename wurde zuletzt modifiziert: " date ("F d Y H:i:s."filemtime($filename));

    Einen Kommentar schreiben:


  • letzte Aktuallisierung einer Datei und Prüfen der Zeit mit Ausgaber einer Ampel

    Hallo

    Ich habe da 2 PHP Skripte die schon etwas älter sind und nicht von mir.

    Zum 1.
    Hier gibt es 2 Ausgaben, offline (rot) und online (grün).
    Da hätte ich gerne noch eine zwischen Zeit (gelb).
    Also zb. div_max zwischen +120 - +239
    Und dann noch die Frage ob das heute noch so Aktuell ist.

    PHP-Code:
    <?php
    $filename 
    'wetter/wswin-custom-x.html';
    $aktualisierung 600// Zeitabstand der normalen Aktualisierung in Sekunden
    $diff_max $aktualisierung+240// 240 Sekunden Zeitzugabe bis Offlineanzeige
    if(file_exists($filename))
    {
    $diff time()-filemtime($filename);
    if (
    $diff_max>$diff)
    {
    echo 
    '<span class="css-ampel ampelgruen"><span></span></span>';
    }
    else
    {
    // Tatsächliche Offline-Zeit (Toleranz-Wert diff_max wird abgezogen)
    $offline_time_real $diff-$diff_max;
    // Absolute Anzahl Tage, Stunden, Minuten ausrechnen
    $offline_time_tage floor($offline_time_real/86400);
    $offline_time_minuten floor($offline_time_real/60);
    $offline_time_stunden floor($offline_time_real/3600);
    // Rückrechnen und Abziehen für die korrekte Anzeige
    $offline_time_stunden $offline_time_stunden-($offline_time_tage*24);
    $offline_time_minuten $offline_time_minuten-($offline_time_tage*1440)-($offline_time_stunden*60);
    $offline_time_sekunden $offline_time_real-($offline_time_tage*86400)-($offline_time_stunden*3600)-($offline_time_minuten*60);
    if(
    $offline_time_real>=86400)
    {
    $offline_string $offline_time_tage.' T., '.$offline_time_stunden.' Std., '.$offline_time_minuten.' Min. und '.$offline_time_sekunden.' Sek.';
    }
    elseif(
    $offline_time_real>=3600)
    {
    $offline_string $offline_time_stunden.' Std., '.$offline_time_minuten.' Min. und '.$offline_time_sekunden.' Sek.';
    }
    elseif(
    $offline_time_real>=60)
    {
    $offline_string $offline_time_minuten.' Min. und '.$offline_time_sekunden.' Sek.';
    }
    else
    {
    $offline_string $offline_time_sekunden.' Sek.';
    }
    echo 
    '<span class="css-ampel ampelrot"><span></span></span>';
    }
    }
    else echo 
    'ERROR: Datei '.$filename.' existiert nicht!';
    ?>

    Zu 2.
    Letzte Erstellung einer Datei in H i
    Das Funktioniert glaube ich nicht mehr.
    Vielleicht gibt es da ja was anders?

    PHP-Code:
    $filename 'wetter/wswin-custom-x.html';
    if (
    file_exists($filename)) {
    echo 
    ": " date(" H:i"fileatime($filename));
    }
    ?> 

    mfg
    Michael

homepage-forum.de - Hilfe für Webmaster! Statistiken

Einklappen

Themen: 57.117   Beiträge: 432.418   Mitglieder: 29.319   Aktive Mitglieder: 47
Willkommen an unser neuestes Mitglied, lka1991.

Online-Benutzer

Einklappen

196 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 195.

Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

Die neuesten Themen

Einklappen

Die neuesten Beiträge

Einklappen

Lädt...
X