variabelen aus base_vars.js mit php übernehmen

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

  • variabelen aus base_vars.js mit php übernehmen

    Hallo leute,
    ich habe folgendes vor:
    ich besitze einen datenlogger, und der speichert seine grundeinstellungen in einer base_vars.js datei ab.
    ein ausschnitt aus der datei:
    Code:
    var AnlagenKWP=12240
    var time_start = new Array(8,8,6,6,6,6,6,7,7,7,7,8)
    var time_end = new Array(17,18,20,21,21,22,22,21,20,19,17,17)
    var sollMonth = new Array(2,6,9,11,11,13,13,12,10,6,4,3)
    var SollYearKWP=890
    var AnzahlWR = 3
    var MaxWRP=new Array(AnzahlWR)
    MaxWRP[0]=new Array(3300,25000,600000,3500000)
    MaxWRP[1]=new Array(3300,25000,600000,3500000)
    MaxWRP[2]=new Array(4600,35000,800000,5000000)
    var WRInfo = new Array(AnzahlWR)
    WRInfo[0]=new Array("ULX3.6","041600P1910",3600,1,"WR 1",2,null,null,0,null,6,0,1,1000,null)
    WRInfo[0][6]=new Array("String 1","String 2")
    WRInfo[0][7]=new Array(1,1)
    WRInfo[0][9]=new Array(1800,1800)
    WRInfo[1]=new Array("ULX3.6","041700P1910",3600,1,"WR 2",2,null,null,0,null,6,0,1,1000,null)
    WRInfo[1][6]=new Array("String 1","String 2")
    WRInfo[1][7]=new Array(1,1)
    WRInfo[1][9]=new Array(1800,1800)
    WRInfo[2]=new Array("ULX5.4","148700P2110",5040,1,"WR 3",3,null,null,0,null,6,0,1,1000,null)
    WRInfo[2][6]=new Array("String 1","String 2","String 3")
    WRInfo[2][7]=new Array(1,1,1)
    WRInfo[2][9]=new Array(1620,1620,1800)
    nun möchte ich ein kleines programm erstellen womit ich die infos aus der datei anzeigen lasse.

    leider weiss ich nicht wie ich die variabelen mit php übernemen kann.
    Bin für jede Hilfe dankbar.

    Mfg.
    partizan0180

  • #2
    Hallo,

    wenn statt "übernehmen" auch "übergeben" in Frage kommt, kannst du alles in ein JS-Objektliteral packen und als JSON an ein PHP-Script schicken (AJAX). PHP kann dann mit json_decode() darauf zugreifen.

    Wenn du es dagegen direkt auslesen willst, brauchst du einen JS-Parser für PHP.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Würdest du die Werte einfach als JSON-String speichern, wäre es ein Kinderspiel sie auszulesen. Sowohl in JavaScript als auch in PHP (und in anderen Programmiersprachen). Aber so wie es jetzt ist wirst du nicht um einen (selbstgeschriebenen?) JavaScript-Parser herumkommen, was deutlich aufwändiger ist.

      Kommentar


      • #4
        Wie kann ich es übergeben? da bin ich noch ein neuling in so eine sache.
        Und wie geht das "als JSON-String speichern"?

        Kommentar


        • #5
          1. Google-Suche nach "tojson"
          2. gewünschte Funktion oder favorisiertes Framework auswählen und benutzen
          3. XMLHttpRequest erzeugen (ggf. nach AJAX-Beispielen googlen)
          4. JSON-String per send-Methode an PHP-Script schicken
          5. im PHP-Script json_decode() mit den empfangenen Daten aufrufen
          6. Rückgabewert von json_decode enthält die Daten als PHP-Array
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Ich werde nicht schlau daraus

            Kommentar


            • #7
              Kannst du dann bitte konkretisieren, woran es scheitert? Ich wüsste jetzt aus dem Stegreif nicht, wie ich dir helfen soll. Wir geben hier Hilfe zur Selbsthilfe und du hast sicher Verständnis, dass wir nicht jedem ein fertiges Script schreiben können.
              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
              Super, danke!
              [/COLOR]

              Kommentar


              • #8
                hallo AmicaNoctis,
                Also es geht um folgendes:

                Es ist eine datei die base_vars.js heisst. Dort sind nur die Parameter mit bezeichnungen also variabelen abgespeichert.
                Nun möchte ich mit einen PHP script die werte übernehmen und entsprechend anzeigen lassen.
                Zb.
                var AnlagenKWP=12240

                die ausgabe sollte dan so sein :
                Anlagengröße : 12,24 Kwp.
                Und da ist auch meine schwierigkeit eben die vars an php übergeben.
                Danke schon mal für die antworten.
                Ich erwarte ja uach kein fertiges script, nur filleicht ein kurzes beispiel.
                habe natürlich volles verständnis dafür.

                Mfg.
                partizan0180

                Kommentar


                • #9
                  Okay, das klingt sehr serverseitig, also ist die Übergabe per JSON/AJAX vielleicht doch nicht so zielführend. Bleibt noch die Sache mit dem Parser. Ich hatte dir ja schon einen Link zu dem JS-Parser gepostet. Den solltest du dir mal runterladen und ein bisschen damit herumspielen.

                  Der ist zwar sehr rechenintensiv, versteht aber dafür die komplette Sprache. Wenn du dir selbst einen baust, kann es immer wieder vorkommen, dass plötzlich was in der Datei drin steht, womit du nicht gerechnet hast. Und den Parser dann umzuschreiben ist mitunter sogar so kompliziert, dass du ihn nochmal neu baust.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    geht es um "solarlog"?
                    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                    Schön - etwas Geschichte kann ja nicht schaden.
                    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                    Kommentar


                    • #11
                      hallo Quetschi,

                      ja es geht um dem "SolarLog".

                      Kommentar


                      • #12
                        Da gibt es ja so ein Javascript-basiertes Auswertungstool vom Hersteller - IMHO nicht unbedingt schön, aber es funktioniert.

                        Worum geht es dir eigentlich konkret? Wozu möchtest du die Variablen in PHP übernehmen? Wenn du nur die Werte aus der base_vars.js brauchst, ist ein kompletter js-Parser IMHO übertrieben - das lässt sich wahrscheinlich auch mit deutlich weniger Code nach PHP schauffeln.
                        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                        Schön - etwas Geschichte kann ja nicht schaden.
                        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                        Kommentar


                        • #13
                          Da ich verschiedene anlagengrößen und auch Datenlogger im einsatz haben werde, möhte ich ganz einfach die anlagen infos auf einem blick haben.

                          Und wenn es etwas einfacher mit wenniger code geht, dann wärre es natürlich super.
                          Leider bin ich noch ein anfänger in sachen php und js bin ich auf jede hilfe angewiesen, und natürlich auch sehr dankbar.

                          Kommentar


                          • #14
                            Zitat von Quetschi Beitrag anzeigen
                            Wenn du nur die Werte aus der base_vars.js brauchst, ist ein kompletter js-Parser IMHO übertrieben - das lässt sich wahrscheinlich auch mit deutlich weniger Code nach PHP schauffeln.
                            Nachdem ich jetzt auch weiß, worum es geht, stimme ich dem zu. Da das Format vom Hersteller festgelegt ist und es sich offenbar nicht um beliebige Konfigurationsdateien handelt, kann man das auch mit regulären Ausdrücken abhandeln.
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #15
                              Wenn man alle "var " und "new " entfernt, am Anfang jeder Zeile ein $ und am Ende ein ; hinzufügt, ist das schon valides PHP.
                              PHP-Code:
                              <?php
                              $lines 
                              file('base_vars.js'FILE_IGNORE_NEW_LINES);
                              foreach (
                              $lines as $i => $line) {
                                  if (
                              strpos($line'var ') === 0) {
                                      
                              $line substr($line4);
                                  }
                                  
                              $lines[$i] = '$'str_replace('new '''$line) .';'
                              }

                              file_put_contents('base_vars.php'"<?php\n"implode($lines"\n"));
                              Das ist natürlich keine zukunftsfähige Lösung, weil sie bei der kleinesten Änderung der JS-Datei nicht mehr funktioniert. Aber du scheinst es ja so haben zu wollen.

                              Kommentar

                              Lädt...
                              X