Hilfe für Einsatzstatus - Skript

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

  • #16
    [COLOR=black]Ja beim Echtzeitstatus, es dauert ca. 1-2 Minuten dann kommt die Ausgabe[/COLOR] "[COLOR=#ff0000]Text nicht gefunden".[/COLOR]

    [COLOR=#ff0000][COLOR=black]Komisch ist, dass früher das Bild sofort erschienen ist. Außerdem hab ich ein Javascript das den Status alle 5 Minuten aktualisiert.[/COLOR][/COLOR]


    [COLOR=#ff0000][COLOR=black]LG Michael[/COLOR][/COLOR]
    Zuletzt geändert von Inferno1980; 31.01.2018, 21:00.

    Kommentar


    • #17
      Das Script, dass ich dir gepostet habe, funktioniert auf meinem Rechner einwandfrei. Das Einlesen der Datei ist zwar langsam, dauert aber keine Sekunden. Im Moment fällt mir nicht viel dazu ein. Man könnte mal das Error-Reporting hochdrehen, vielleicht kommt dann ein Hinweis:
      PHP-Code:
       <?php
          error_reporting
      (E_ALL);
          
      ini_set('display_errors'true);
          
          
      $words = array ('T1' => 'TECHNISCHER EINSATZ T1'
                          
      'T2' => 'TECHNISCHER EINSATZ T2'
                          
      'T3' => 'TECHNISCHER EINSATZ T3'
                          
      'S1' => 'SCHADSTOFFEINSATZ S1'
                          
      'S2' => 'SCHADSTOFFEINSATZ S2'
                          
      'S3' => 'SCHADSTOFFEINSATZ S3'
                          
      'B1' => 'BRANDEINSATZ B1'
                          
      'B2' => 'BRANDEINSATZ B2'
                          
      'B3' => 'BRANDEINSATZ B3'
                          
      'B4' => 'BRANDEINSATZ B4'
                          
      'keine Einsätze' => 'EINSATZBEREIT');
       
          
      $quelltext file_get_contents("http://www.feuerwehr-krems.at/Dokumente/Bezirk/Die%20Feuerwehren/Die%20Feuerwehren/FFInfo_Allgemein.asp?EldisID=222201&Select=1");

          
      // Hier ist der Knackpunkt, es werden unterschiedliche Zeichensätze benutzt
          // Deshalb hier eine Konvertierung.    
          
      $quelltext iconv ("windows-1252""utf-8"$quelltext);
          
          
      $count 0;
          
          foreach (
      $words as $key => $value)
          {
             if (
      strpos($quelltext$key) !== false)
             {
                if (
      $value == 'EINSATZBEREIT')
                   echo 
      "<img title=Einsatzbereit' alt='Einsatzbereit' width='160' height='50' src='/images/content/icons/einsatzbereit.gif' />
                         <div style='font-size:x-small; color:#000000;'>
      $value</div>";
                else
                   echo 
      "<img title='Feuerwehr im Einsatz' alt='Feuerwehr im Einsatz' width='160' height='50' src='/images/content/icons/einsatz.gif' />
                         <div style='font-size:x-small; color:#0000FF;'>
      $value</div>";
                         
                
      $count++;
             }
          }
          
          if (
      $count)
            echo 
      "<br><span style='font-weight:bold; color: #0000ff'>Text gefunden</span>";
          else
            echo 
      "<br><span style='font-weight:bold; color: #ff0000'>Text nicht gefunden</span>";
      ?>

      Kommentar


      • #18
        Folgende Fehlermeldung bekomme ich im Status:

        [FONT=Arial]Warning[/FONT]
        [COLOR=#000000][FONT=Arial]: file_get_contents(http://www.feuerwehr-krems.at/Dokume...201&Select=1): failed to open stream: Connection timed out in [/FONT][/COLOR]
        /big/web/www.feuerwehr-huettendorf.at/htdocs/windowfiles/einsatz.php
        [COLOR=#000000][FONT=Arial] on line [/FONT][/COLOR]
        17
        [COLOR=#000000][FONT=Arial][/FONT][/COLOR]

        Kommentar


        • #19
          Aus welchen Gründen auch immer dauert das Lesen der Datei zu lange. Das ist aber kein Script-Problem, sondern ein Server-Problem, bei dem ich dir nicht helfen kann. Wenn das alles mal funktioniert hat, muss sich irgend etwas an dem Server geändert haben.

          Kommentar


          • #20
            Das ist wirklich sehr schade, gibt es vielleicht eine andere Möglichkeit oder Befehle diese Daten abzufragen?

            LG Michael

            Kommentar


            • #21
              Die Frage ist doch, was hat sich geändert? Es muss ja einen Grund haben, waren es auf einmal nicht mehr funktioniert.

              Kommentar


              • #22
                Hier noch ein anderer Weg.
                Die Datei wird per cURL eingelesen
                PHP-Code:
                  <?php   
                    error_reporting
                (E_ALL);
                    
                ini_set('display_errors'true);
                    
                    
                $words = array ('T1' => 'TECHNISCHER EINSATZ T1'
                                    
                'T2' => 'TECHNISCHER EINSATZ T2'
                                    
                'T3' => 'TECHNISCHER EINSATZ T3'
                                    
                'S1' => 'SCHADSTOFFEINSATZ S1'
                                    
                'S2' => 'SCHADSTOFFEINSATZ S2'
                                    
                'S3' => 'SCHADSTOFFEINSATZ S3'
                                    
                'B1' => 'BRANDEINSATZ B1'
                                    
                'B2' => 'BRANDEINSATZ B2'
                                    
                'B3' => 'BRANDEINSATZ B3'
                                    
                'B4' => 'BRANDEINSATZ B4'
                                    
                'keine Einsätze' => 'EINSATZBEREIT');
                      
                    
                // Datei per CURL auf eigenen Server holen
                    
                $ch curl_init("http://www.feuerwehr-krems.at/Dokumente/Bezirk/Die%20Feuerwehren/Die%20Feuerwehren/FFInfo_Allgemein.asp?EldisID=222201&Select=1");
                    
                curl_setopt($chCURLOPT_RETURNTRANSFER1);
                    
                curl_setopt($chCURLOPT_TIMEOUT60);
                    
                $quelltext curl_exec($ch);
                    
                    
                // Hier ist der Knackpunkt, es werden unterschiedliche Zeichensätze benutzt
                    // Deshalb hier eine Konvertierung.    
                    
                $quelltext iconv ("windows-1252""utf-8"$quelltext);
                    
                    
                $count 0;
                    
                    foreach (
                $words as $key => $value)
                    {
                       if (
                strpos($quelltext$key) !== false)
                       {
                          if (
                $value == 'EINSATZBEREIT')
                             echo 
                "<img title=Einsatzbereit' alt='Einsatzbereit' width='160' height='50' src='/images/content/icons/einsatzbereit.gif' />
                                   <div style='font-size:x-small; color:#000000;'>
                $value</div>";
                          else
                             echo 
                "<img title='Feuerwehr im Einsatz' alt='Feuerwehr im Einsatz' width='160' height='50' src='/images/content/icons/einsatz.gif' />
                                   <div style='font-size:x-small; color:#0000FF;'>
                $value</div>";
                                   
                          
                $count++;
                       }
                    }
                    
                    if (
                $count)
                      echo 
                "<br><span style='font-weight:bold; color: #0000ff'>Text gefunden</span>";
                    else
                      echo 
                "<br><span style='font-weight:bold; color: #ff0000'>Text nicht gefunden</span>";
                ?>
                Damit funktioniert es bei mir ebenfalls. Allerdings muss die cURL-Extension in PHP aktiv sein. Ob das bei dir der Fall ist, kannst du mit diesem Script herausfinden:
                PHP-Code:
                <?php
                  phpinfo
                ();
                ?>
                In der Ausgabe dieses Scriptes musst du sowas finden:
                cURL support enabled
                Zuletzt geändert von bandit600; 28.01.2018, 20:04.

                Kommentar


                • #23
                  Auch hier das selbe in grün, nach einiger Zeit erhalte ich TEXT NICHT GEFUNDEN!

                  cURL Support ist bei mir freigeschalten.

                  LG Michael

                  Kommentar


                  • #24
                    Sorry, aber dann weiß ich auch nicht mehr weiter. Das muss dann an deinem Server liegen, was ja eigentlich von Anfang an zu vermuten war. Denn wenn ein Script, dass schon lange funktioniert hat, plötzlich nicht mehr läuft, obwohl nichts am Script geändert wurde, dann muss ja was am Server gemacht worden sein.

                    Kommentar


                    • #25
                      Hallo Bandit600 du hattest recht es war eine Sicherheitseinstellung am Server, jetzt funktioniert es wieder.

                      Vielen Dank für deine Hilfe!!

                      LG Michael
                      Zuletzt geändert von Inferno1980; 31.01.2018, 16:32.

                      Kommentar


                      • #26
                        Ich hoffe aber, dass du eine Version von meinen Scripts genommen hast und nicht deine etwas chaotische Version.

                        Kommentar


                        • #27
                          Natürlich hab ich auf deine cURL Version zurückgegriffen.

                          Die "chaotische Version" stammt leider von einer null php-Ahnung Zusammenstellung.

                          Vielen Dank soll ich auch von meinem Feuerwehrkommando an Dich ausrichten!

                          Kommentar


                          • #28
                            Menschen, die anderen helfen, hilft man doch gerne.

                            Kommentar

                            Lädt...
                            X