Function.pg-unescape-bytea
Aus PHP-Wiki
pg_unescape_bytea — Entfernt Maskierungen für den Typ bytea
Inhaltsverzeichnis |
Beschreibung
string pg_unescape_bytea ( string $data )
pg_unescape_bytea() entfernt Maskierungen von Daten
des PostgreSQL-Typs bytea. Zurückgegeben wird ein String ohne
Maskierungen, der möglicherweise Binärdaten enthält.
Hinweis:
Wenn Daten vom Typ bytea mit SELECT ausgewählt
werden, gibt PostgreSQL Bytewerte als Oktalzahlen zurück, denen ein '\'
vorangestellt ist (z. B. \032). Benutzer müssen diese Werte manuell in
ein binäres Format konvertieren.
Diese Funktion setzt PostgreSQL ab der Version 7.2 voraus. Bei
PostgreSQ; 7.2.0 und 7.2.1 müssen bytea-Werte konvertiert werden, falls
die Multibyte-Unterstützung aktiviert ist, z. B. INSERT INTO
test_table (image) VALUES ('$image_escaped'::bytea);. Ab
PostgreSQL 7.2.2 müssen die Daten nicht mehr konvertiert werden. Eine
Ausnahme gibt es allerdings: wenn die Codierung des Clients und des
Datenbankservers einander nicht entsprechen, kann es zu
Multibyte-Fehlern kommen. Um diesen Fehler zu vermeiden, muss der
Anwender einen Typecast zu bytea machen.
Parameter-Liste
- data
- Ein string, der Daten vom PostgreSQL Typ bytea enthält, die in einen PHP-Binärstring konvertiert werden.
Rückgabewerte
Ein string, der die unmaskierten Daten enthält.
Beispiele
Beispiel #1 pg_unescape_bytea() Beispiel
<?php // Zur Datenbank verbinden $dbconn = pg_connect('dbname=foo'); // Die Daten vom Typ bytea holen $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'"); $raw = pg_fetch_result($res, 'data'); // In Binärdaten konvertieren und an den Browser senden header('Content-type: image/jpeg'); echo pg_unescape_bytea($raw); ?>