Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Array aus php script holen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Array aus php script holen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 3 Kommentatoren 2.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    sveni_lee
    schrieb am zuletzt editiert von
    #1

    ich habe ein php-script auf meinem Server, welches ein Array mittels foreach erzeugt.

    nun möchte ich dieses ergebnis aus einen js-script heraus abholen…

    aber wie rufe ich das php script aus js heraus auf und könnte man auch eine variable aus js heraus an das php script übergeben?

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      @sveni_lee:

      ich habe ein php-script auf meinem Server, welches ein Array mittels foreach erzeugt.

      nun möchte ich dieses ergebnis aus einen js-script heraus abholen…

      aber wie rufe ich das php script aus js heraus auf und könnte man auch eine variable aus js heraus an das php script übergeben? `
      Mit dem https://github.com/request/request kannst du Webseiten (was das Script ja auch ist) aufrufen. Dieses ist im Script-Adapter automatisch geladen.

      Variablen von JS an PHP kannst du über den QueryString übergeben, z.b.

      http://adresse:port/irgendwas.php?var1=2&var2=abc
      

      das PHP-Script muss die Ausgabevariablen dann in die Antwort schreiben (reiner Text), und das JS-Script diese verarbeiten. Je nachdem was du skriptseitig machen willst ist der Parser-Adapter hier eventuell der einfachste Weg zur Verarbeitung.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        sveni_lee
        schrieb am zuletzt editiert von
        #3

        okay…

        ich möchte gern meine Datenbank auslesen...

        und zwar mit folgendem php-script:

        #!/usr/bin/php
        
        

        die Variable "/Datengrab_xbmc/Musik/Alben/ABBA" bspw. würde ich gern als variable übergeben… und das Ergebnis in iobroker weiter verarbeiten...

        Das Ergebnis sieht dann so aus:

        svenilee@Gotham-City:~$ php server.php
        Array
        (
            [1973 - Ring Ring] => dir
            [1974 - Waterloo] => dir
            [1975 - Abba] => dir
            [1976 - Arrival] => dir
            [1977 - Abba The Album] => dir
            [1979 - Voulez Vous] => dir
            [1980 - Gracias Por La Música] => dir
            [1980 - Super Trouper] => dir
            [1981 - The Visitors] => dir
            [1982 - The Singles - The first 10 Years] => dir
            [1986 - Abba Live] => dir
            [1992 - Abba Gold (Greatest Hits)] => dir
            [1993 - More Abba Gold (More Abba Hits)] => dir
            [1994 - Thank You For The Music] => dir
            [1999 - Mamma Mia (The Musical)] => dir
            [1999 - The Complete Single Collection 1] => dir
            [1999 - The Complete Singles Collection (CD1)] => dir
            [2000 - Waterloo Ultimate Collection] => dir
            [2001 - The Definitive Collection 1] => dir
            [2006 - Number Ones] => dir
            [2011 - Abba Collected] => dir
            [extrafanart] => dir
            [artist.nfo] => /Datengrab_xbmc/Musik/Alben/ABBA/artist.nfo
            [banner.jpg] => /Datengrab_xbmc/Musik/Alben/ABBA/banner.jpg
            [clearart.png] => /Datengrab_xbmc/Musik/Alben/ABBA/clearart.png
            [fanart.jpg] => /Datengrab_xbmc/Musik/Alben/ABBA/fanart.jpg
            [folder.jpg] => /Datengrab_xbmc/Musik/Alben/ABBA/folder.jpg
            [logo.png] => /Datengrab_xbmc/Musik/Alben/ABBA/logo.png
        )
        
        
        1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #4

          Ja das könnte tatsächlich gut mit dem Parser-Adapter und ein klein bisschen RegExp gehen, wenn ich das richtig im Hinterkopf habe.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            sveni_lee
            schrieb am zuletzt editiert von
            #5

            Kann ich mit dem Parser Adapter denn auch eine Variable übergeben?

            ich möchte ja damit ein wenig durch die Datenbank navigieren…

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              sveni_lee
              schrieb am zuletzt editiert von
              #6

              ich habe das jetzt mal versucht mit regex etwas auszulesen aber irgendwie klappt das nicht.

              ich hab das php-script in den iobroker-Ordner verschoben aber es wird trotzdem nicht geparst…

              https://192.168.1.142:8082/server.php

              1 Antwort Letzte Antwort
              0
              • AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #7

                Nicht zu viele Details nennen ;)

                @sveni_lee:

                aber irgendwie klappt das nicht. `
                Was klappt wie nicht?

                Wird das PHP-Skript nicht ausgeführt?

                Wird das PHP-Skript nicht aufgerufen?

                Wird kein Querystring übergeben?

                Wird die Antwort korrekt erzeugt, aber nicht korrekt geparst?

                Wenn ja, wie sieht die Antwort und dein verwendetes RegExp aus?

                Fragen über Fragen…

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  sveni_lee
                  schrieb am zuletzt editiert von
                  #8

                  Ich bekomme ich Adapter eine Fehlermeldung…

                  file Not found: Not exist
                  

                  Allerdings bei Aufruf über http://192.168.1.142/Server.php

                  Bei Aufruf über https://… kommt nur ein Fenster mit Err...

                  Mir erschließt sich auch so richtig wie mir der Adapter helfenkann

                  Was versuche ich hier... ich möchte gern durch meine Datenbank browsen und die Daten aus dem übergebenen Array jeweils in einem Widget darstellen und wenn man auf das Widget drückt quasi durch Übergabe des neuen Pfades die Unterordner anzeigen...

                  Gesendet von iPhone mit Tapatalk Pro

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    sveni_lee
                    schrieb am zuletzt editiert von
                    #9

                    nach dem ich nun ein wenig mehr mit dem Parser Adapter herumgespielt habe bekomme ich nun folgendes:

                    ![](</s><URL url=)https://i.imgur.com/PnNTYtF.jpg" />

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      sveni_lee
                      schrieb am zuletzt editiert von
                      #10

                      ich versuche immer noch mein php-script auf meinem Server aufzurufen…

                      das php.Script liegt unter /opt/iobroker/server.php

                      mein test js script:

                      const request = require('request');
                      request('http://192.168.1.142:8082/server.php', (err, res, body) => {
                        if (err) { return console.log(err); }
                        log(body.url);
                        log(body.explanation);
                      });
                      

                      wenn ich das js-script ausführe komm t im log:

                      javascript.0	2018-05-28 12:09:28.167	info	script.js.common.Test: undefined
                      javascript.0	2018-05-28 12:09:28.167	info	script.js.common.Test: undefined
                      javascript.0	2018-05-28 12:09:28.159	info	script.js.common.Test: registered 0 subscriptions and 0 schedules
                      javascript.0	2018-05-28 12:09:28.156	info	Start javascript script.js.common.Test
                      javascript.0	2018-05-28 12:09:28.152	info	Stop script script.js.common.Tes
                      

                      versuche ich es mit https://192.168.1.142:8082/server.php kommt im log:

                      javascript.0	2018-05-28 12:16:09.822	info	script.js.common.Test: Error: socket hang up
                      javascript.0	2018-05-28 12:16:09.815	info	script.js.common.Test: registered 0 subscriptions and 0 schedules
                      javascript.0	2018-05-28 12:16:09.812	info	Start javascript script.js.common.Test
                      javascript.0	2018-05-28 12:16:09.807	info	Stop script script.js.common.Test
                      

                      kann mir mal jemand auf die Sprünge helfen?

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        Womit führst du das php-Skript denn aus? ioBroker bzw. der Web-Adapter kann das von Hause aus nicht.

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          sveni_lee
                          schrieb am zuletzt editiert von
                          #12

                          ich habe das in ein js script in iobroker gepackt…

                          ich dachte das das php-script wie eine locale html behandelt wird...

                          1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            https://de.wikipedia.org/wiki/PHP#Funktionsweise

                            Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              sveni_lee
                              schrieb am zuletzt editiert von
                              #14

                              okay, verstehe… also eine directes aufrufen ist nicht möglich...

                              ich habe ganz nebenbei noch einen Apache auf dem Server laufen...

                              aber wie bringe ich mein script dazu den interpreter zu benutzen?

                              1 Antwort Letzte Antwort
                              0
                              • AlCalzoneA Offline
                                AlCalzoneA Offline
                                AlCalzone
                                Developer
                                schrieb am zuletzt editiert von
                                #15

                                Du musst das irgendwo im Apache-Verzeichnis ablegen. Eine kurze Google-Suche liefert:

                                https://stackoverflow.com/questions/238 … u/38567352

                                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  dwm
                                  schrieb am zuletzt editiert von
                                  #16

                                  Hi,

                                  warum machst Du im PHP statt einem "print_r" kein

                                  print (json_encode($result));
                                  

                                  Dann würd das script nämlich JSON liefern, und man müsst sich auf der Javascript Seite mit Regex keinen Wolf parsen …

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    sveni_lee
                                    schrieb am zuletzt editiert von
                                    #17

                                    die Umwandlung in json hatte ich schon eingebaut… danke

                                    Aber wenn ich nun die seite im Browser aufrufe wird mir der code angezeigt aber nicht das Ergebenis.

                                    ist das so richtig?

                                    ![](</s><URL url=)https://i.imgur.com/YCrngon.jpg" />

                                    1 Antwort Letzte Antwort
                                    0
                                    • AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #18

                                      Dann führt Apache den PHP-Interpreter nicht aus. Wieder eine kurze Google-Suche und ich lande hier:

                                      https://www.strassenprogrammierer.de/ph … p_612.html

                                      Mal ehrlich, das bekommst du doch auch hin, oder?

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        sveni_lee
                                        schrieb am zuletzt editiert von
                                        #19

                                        natürlich, Du hast föllig recht!

                                        Allerdings quäle ich google permanent zu meinem Vorhaben. Ich habe den code auch nur mit hlfe von google

                                        zusammen geschustert.

                                        Leider hat sich auch bei ubuntu und Appache2 eine Menge geändert, so dass die Einstellungen nicht mehr

                                        so einfach zu verstehen sind… zumindest für mich.

                                        Nichz desto trotz habe ich zum mindest hinbekommen das nicht mehr der code angezeigt wird sondern nun

                                        erscheint Array() im Browser... das bedeutet für mich ich bin einen Schritt weiter und werde jetzt mal google fragen

                                        was ich noch falsch mache...

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          sveni_lee
                                          schrieb am zuletzt editiert von
                                          #20

                                          es gab einiges was serverseitig noch umgestellt und eingerichtet werden musste. nun klappt es aber schon mal mit dem Array bzw. der json ausgabe im Browser…

                                          Das bedeutet ich komme jetzt an den Punkt an dem ich die json von der "webseite" abrufen möchte.

                                          Das sollte ja mit dem Request-Modul, welchen ja onboard sein sollte...

                                          ich habe jetzt einiges gegoogelt und probiert aber ich bekomme immer eine Info:

                                          javascript.0	2018-05-30 12:43:30.563	info	script.js.common.Test: undefined
                                          javascript.0	2018-05-30 12:43:30.563	info	script.js.common.Test: undefined
                                          javascript.0	2018-05-30 12:43:30.556	info	script.js.common.Test: registered 0 subscriptions and 0 schedules
                                          
                                          const request = require('request');
                                          request('http://192.168.1.142/server.php', (err, res, body) => {
                                            if (err) { return log(err); }
                                            log(body.url);
                                            log(body.explanation);
                                          });
                                          

                                          das beispiel hatte ich aus der verlinkten Seite übernommen…

                                          die "Website" gibt jett folgendes aus:

                                          {"1973 - Ring Ring":"dir","1974 - Waterloo":"dir","1975 - Abba":"dir","1976 - Arrival":"dir","1977 - Abba The Album":"dir","1979 - Voulez Vous":"dir","1980 - Gracias Por La M\u00fasica":"dir","1980 - Super Trouper":"dir","1981 - The Visitors":"dir","1982 - The Singles - The first 10 Years":"dir","1986 - Abba Live":"dir","1992 - Abba Gold (Greatest Hits)":"dir","1993 - More Abba Gold (More Abba Hits)":"dir","1994 - Thank You For The Music":"dir","1999 - Mamma Mia (The Musical)":"dir","1999 - The Complete Single Collection 1":"dir","1999 - The Complete Singles Collection (CD1)":"dir","2000 - Waterloo Ultimate Collection":"dir","2001 - The Definitive Collection 1":"dir","2006 - Number Ones":"dir","2011 - Abba Collected":"dir","extrafanart":"dir","artist.nfo":"\/Datengrab_xbmc\/Musik\/Alben\/ABBA\/\/artist.nfo","banner.jpg":"\/Datengrab_xbmc\/Musik\/Alben\/ABBA\/\/banner.jpg","clearart.png":"\/Datengrab_xbmc\/Musik\/Alben\/ABBA\/\/clearart.png","fanart.jpg":"\/Datengrab_xbmc\/Musik\/Alben\/ABBA\/\/fanart.jpg","folder.jpg":"\/Datengrab_xbmc\/Musik\/Alben\/ABBA\/\/folder.jpg","logo.png":"\/Datengrab_xbmc\/Musik\/Alben\/ABBA\/\/logo.png"}
                                          

                                          edit… hab jetzt mit viel tryandError hinbekommen...!!!

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          443

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe