PostgreSQL-Funktionen
PHP Manual

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

pg_unescape_bytea Entfernt Maskierungen für den Typ bytea

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);
?>

Changelog

Version Beschreibung
5.5.1 Eine Warnung wird erzeugt, wenn die Eingabezeichenkette ungültig ist.

Siehe auch


PostgreSQL-Funktionen
PHP Manual