escape/unescaped streams

michmann

Grünschnabel
Hallo zusammen

Ich benutze PHP4 und PostgreSQL 7.4.7 unter Debian.

Kennt jemand das Problem, dass escape und unescaped nicht
wieder dasselbe ergeben? Vielleicht kann mir jemand ein paar Tipps
geben. Hier der kompakte Code (den DB-Teil habe ich weggelassen):

PHP:
$datei='testfoto.jpg';
$handle=fopen($datei, 'rb');
$contents = fread($handle, filesize($datei));
fclose($handle);

# Hier wird die Datei korrekt angezeit
header("Content-type: image/jpeg");
echo $contents ;

$escaped_content = pg_escape_bytea($contents);
$contents2 = pg_unescape_bytea($escaped_content);

# Hier ist sie Schrott!!
header("Content-type: image/jpeg");
echo $contents2;

Wäre echt prima, wenn jemand da was weiss!!
BG Michael
 
Habe es herausbekommen: das Maskieren ist im PostgrSQL bereits integriert, somit ist pg_escaped_bytea() nicht mehr nötig: man kann das binäre File direkt ins bytea Feld schreiben. Aber pg_unescape_bytea braucht man beim Auslesen. Die gute Nachricht ist, dass es korrekt arbeitet.
Offenbar hat also pg_escape_bytea() einen Fehler ... da man aber es sowieso nicht braucht, ist das jetzt nicht mehr relevant (zumindest nicht für das ursprüngliche Problem).
BG Michael
 
Zurück