mixmastertobsi: gzdecode(): data error

Hallo,

ich bekomme von meiner Bank per ebics einen XML String, der wohl als ZIP komprimiert ist. Wenn ich den String als Zip speicher und dann in der Kommandozeile exportiere, kann ich mir die XML korrekt anzeigen lassen.

Nun möchte ich aber den String nicht erst speichern und dann wieder einlesen, sondern gleich verarbeiten und versuche mich gerade an gzdecode, allerdings bekomme ich hier die Fehlermeldung "data error".

Hat mir jemand einen Tipp?

Der Fule selbst sieht wie folgt aus:

  1. Moin,

    gzip und (PK-) ZIP (aka. Info-Zip) sind zwei unterschiedliche Formate.

    Viele Grüße
    Robert

    1. OK - und welche Möglichkeit habe ich da nun mit PHP. Gibt es bei PK-Zip auch eine Klasse zum exportieren?

      1. Moin,

        OK - und welche Möglichkeit habe ich da nun mit PHP. Gibt es bei PK-Zip auch eine Klasse zum exportieren?

        Hast du denn schon in der PHP-Dokumentation, der Erweiterungsbibliothek oder dem Erweiterungs-Repository nachgeschaut? Das wären so meine Kandidaten zum Suchen.

        Viele Grüße
        Robert

        1. Hallo,

          ich habe natürlich im Google hierzu bereits einiges gesucht und probiert, doch leider nichts passendes gefunden? Gibt es also nichts?

          1. Moin,

            ich gebe Links nicht an um zu zeigen, dass ich Markdown (bzw. Kramdown) kenne 😉 Gleich aus meinem ersten Link kurz weitergeklickt: http://de2.php.net/manual/de/book.zip.php. Merke: Es gibt noch mehr als Google und die offiziellen Seiten sind oft die erste Anlaufstelle.

            Viele Grüße
            Robert

            1. Ja, das hatte ich bereits mir davor angeschaut gehabt, allerdings geht es hier ja um Dateien.

              Ich habe aber einen String und möchte diesen "unzippen", ohne diesen erst abspeichern zu müssen.

              1. Moin,

                Ja, das hatte ich bereits mir davor angeschaut gehabt, allerdings geht es hier ja um Dateien.

                Ich habe aber einen String und möchte diesen "unzippen", ohne diesen erst abspeichern zu müssen.

                Der String ist der komplette Inhalt eines Archivs. AFAIK gibt es bei PK-Zip keine „Streams“ wie z.B. bei gzip, d.h. du musst aus dem Archiv auch den entsprechenden Eintrag auslesen.

                Wie man einen BLOB (das ist dein „String“ eigentlich) in PHP auf eine Stream-Ressource gemappt bekommt, weiß ich leider nicht. Wenn das nicht funktioniert, musst du eine temporäre Datei schreiben.

                Viele Grüße
                Robert