HTTP Binärdaten über PHP-Skript in Datenbank schreiben bzw auslesen

Angel4585

Bekanntes Mitglied
Hallo,

ich habe in einer Datenbank auf meinem Webspace ein Binärfeld und möchte dieses auslesen.
da ich keinen direkten Datenbankzugriff hinbekomme und auch nicht möchte, muss das über ein (PHP-)Skript gehen.
Das Problem ist aber, dass wenn ich die Binärdaten über POST sende, bzw per HTTP zurückgebe, die auf irgend eine Art verändert werden, dass ich die dann nichtmehr richtig auslesen kann.
Das sind meine Laden- und Speichern-Methoden:
Java:
    public static SFMatch loadMatchFromXMLHTTP(String url) throws IOException {
        URL ur = new URL(url);
        URLConnection conn = ur.openConnection();
        InputStream is = conn.getInputStream();
        GZIPInputStream gis = new GZIPInputStream(is);
        SFMatch m = loadMatchFromStream(gis);
        gis.close();
        is.close();
        return m;
    }

    public static SFMatch saveMatchToXMLHTTP(SFMatch match, String url) throws IOException {
        URL ur = new URL(url);
        URLConnection conn = ur.openConnection();
        conn.setDoOutput(true);
        OutputStream os = conn.getOutputStream();
        GZIPOutputStream gos = new GZIPOutputStream(os);
        saveMatchToStream(match, os);
        InputStream is = conn.getInputStream();
        byte[] b = new byte[4096];
        is.read(b);
        SFMatch m = loadMatchFromXML(b);
        is.close();
        gos.close();
        os.close();
        return m;
    }

Ich weis jetzt nicht
a) ob das in Java richtig mache
b) was ich bei PHP machen muss um die Daten richtig zu verarbeiten
 
so,hab jetzt meinen Quellcode etwas überarbeitet bzw ergänzt:
Java:
    public static void saveMatchToXMLHTTP(SFMatch match, String url) throws IOException {
        URL ur = new URL(url);
        URLConnection conn = ur.openConnection();
        conn.setDoOutput(true);
        OutputStream os = conn.getOutputStream();
        SFHexOutputStream hex = new SFHexOutputStream(os);
        GZIPOutputStream gos = new GZIPOutputStream(hex);
        saveMatchToStream(match, gos);
        InputStream is = conn.getInputStream();
        is.close();
        gos.close();
        hex.close();
        os.close();
    }

    public static SFMatch loadMatchFromXMLHTTP(String url) throws IOException {
        URL ur = new URL(url);
        URLConnection conn = ur.openConnection();
        InputStream is = conn.getInputStream();
        SFHexInputStream hex = new SFHexInputStream(is);
        GZIPInputStream gis = new GZIPInputStream(hex);
        SFMatch m = loadMatchFromStream(gis);
        gis.close();
        gis.close();
        is.close();
        return m;
    }

Die Laden-Methode funktioniert jetzt, beim Speichern stellt sich mir aber die Frage, wie ich das im PHP-Skript einlese.
Normal lese ich ja über$_GET['angegebenesFeld'] oder $_POST['angegebenesFeld']
Aber ich gebe hier ja nirgends ein Feld an, also wie kann ich die Daten auslesen?
 

Zurück
Oben