Forum Doku Wiki Blog

Forumsarchiv 2004, November
binäre Daten aus POST bearbeiten

archivierte Beiträge lesen

  1. (PHP) binäre Daten aus POST bearbeiten von Poldipold, 26. 11. 2004, 16:30

binäre Daten aus POST bearbeiten

Der folgende Beitrag wurde am 26. 11. 2004, 16:30 Uhr von Poldipold veröffentlicht.

Hallo!

Ich schicke Daten mittels POST aus einer Java-Anwendung an ein PHP-Script und lese diese dort in eine Variable ein:

$fd = fopen('php://input','rb');
$post_data=fread($fd,filesize($fd));

Nun könnte ich diese Daten ($post_data) in eine Datei schreiben oder in einem BLOB der DB ablegen. Aber was, wenn ich diese Daten vorher noch bearbeiten möchte? Geht das? Wie?

Kann ich ein bestimmtes Pattern suchen und die Daten an dieser Stelle in 2 Teile teilen um den ersten in einen und den 2. in einen anderen Blob zu speichern?

Danke im Voraus für eventuelle hilfe!

Thomas.

binäre Daten aus POST bearbeiten

Der folgende Beitrag wurde am 26. 11. 2004, 16:36 Uhr von Tom veröffentlicht.

Hello,

> Kann ich ein bestimmtes Pattern suchen und die Daten an dieser Stelle in 2 Teile teilen um den ersten in einen und den 2. in einen anderen Blob zu speichern?

Warum nicht?

PHP maskiert ggf. automatisch einige Zeichen. --> magic_quotes_gpc()

Das müsstest Du dann besser rückgängig machen oder die Funktion eventuell auch ausschalten.

Und dann kannst Du mit explode() an den Patterns teilen.

Bevor Du die Daten dann per SQL an eine Datenbank übermittelst, musst Du mit der zugehörigen Funktion für die Datenbankschnittstelle wieder escapen. Sonst zerscheißt Du Dir die Daten und eventuell auch die Datenbank.



Harzliche Grüße aus http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

binäre Daten aus POST bearbeiten

Der folgende Beitrag wurde am 26. 11. 2004, 17:07 Uhr von Poldipold veröffentlicht.

Hi!

> Warum nicht?

Weil ich eigentlich erwartet hätte, daß das nur bei Strings funktioniert ...

> PHP maskiert ggf. automatisch einige Zeichen. --> magic_quotes_gpc()
>
> Das müsstest Du dann besser rückgängig machen oder die Funktion eventuell auch ausschalten.

Das geht eh zur Laufzeit, oder?

> Und dann kannst Du mit explode() an den Patterns teilen.

Kann ich auch ein paar Bytes auslesen und auswerten? Wie wird das denn behandelt? Als String? ByteArrays gibt es ja in PHP eher nicht, denke ich.

viele Grüße & danke schonmal für die Infos

Poldi.

binäre Daten aus POST bearbeiten

Der folgende Beitrag wurde am 27. 11. 2004, 09:32 Uhr von Tom veröffentlicht.

Hello,

> Weil ich eigentlich erwartet hätte, daß das nur bei Strings funktioniert ...

Dateien sind "Strings" und/oder werden bei PHP 'streamed'. Das beduetet, dass sie eine lineare Speicherstruktur haben.

> > PHP maskiert ggf. automatisch einige Zeichen. --> magic_quotes_gpc()
> >
> > Das müsstest Du dann besser rückgängig machen oder die Funktion eventuell auch ausschalten.
>
> Das geht eh zur Laufzeit, oder?

Das Ausschalten geht nur in der php.ibi oder ähnlichen Stellen --> http://de3.php.net/manual/en/ref.info.php#ini.magic-quotes-gpc und http://de3.php.net/manual/en/function.ini-set.php

Das Wiederentfernen klappt selbstverständlich zur Laufzeit, da es da ha auch von PHP reingebaut wird. Du benötigst eine rekursive Funktion mit stripslashes() [linkhttp://de3.php.net/manual/en/function.stripslashes.php], um z.B. das gesamte $_POST und $_GET-Array damit durchtzuarbeiten.

 > > Und dann kannst Du mit explode() an den Patterns teilen.
>
> Kann ich auch ein paar Bytes auslesen und auswerten? Wie wird das denn behandelt? Als String? ByteArrays gibt es ja in PHP eher nicht, denke ich.

Doch. In PHP heißen die 'String'. Man kann auf jedes Element eines String zugreifen mit

  $element = $string{$n};

Wobei $n der Offset zum Beginn des String ist. Man fängt hier also mit 0 an zu zählen.

Welchen Typ man dann dort findet, ist PHP egal. Ersteinmal ist es ein char. Den kannst Du Dir aber nach Belieben dann casten.


Harzliche Grüße aus http://www.annerschbarrich.de

Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4