| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

29-05-2011, 17:16
|
|
partizan0180
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 33
|
|
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
|

29-05-2011, 17:26
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
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
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

29-05-2011, 17:28
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.326
|
|
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.
|

29-05-2011, 17:37
|
|
partizan0180
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 33
|
|
Wie kann ich es übergeben? da bin ich noch ein neuling in so eine sache.
Und wie geht das "als JSON-String speichern"?
|

29-05-2011, 17:52
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
- Google-Suche nach "tojson"
- gewünschte Funktion oder favorisiertes Framework auswählen und benutzen
- XMLHttpRequest erzeugen (ggf. nach AJAX-Beispielen googlen)
- JSON-String per send-Methode an PHP-Script schicken
- im PHP-Script json_decode() mit den empfangenen Daten aufrufen
- Rückgabewert von json_decode enthält die Daten als PHP-Array
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

29-05-2011, 20:10
|
|
partizan0180
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 33
|
|
Ich werde nicht schlau daraus
|

29-05-2011, 22:06
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
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.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-06-2011, 12:06
|
|
partizan0180
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 33
|
|
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
|

03-06-2011, 12:13
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
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.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-06-2011, 12:21
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.756
|
|
geht es um "solarlog"?
__________________
Drelingdo
Krabonse
Simmannamando
|

03-06-2011, 12:39
|
|
partizan0180
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 33
|
|
hallo Quetschi,
ja es geht um dem "SolarLog".
|

03-06-2011, 12:44
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.756
|
|
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.
__________________
Drelingdo
Krabonse
Simmannamando
|

03-06-2011, 12:52
|
|
partizan0180
Registrierter Benutzer
|
|
Registriert seit: Jan 2011
Beiträge: 33
|
|
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.
|

03-06-2011, 12:53
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Quetschi
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.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-06-2011, 12:56
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
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($line, 4); } $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.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|