(PHP 4 >= 4.3.0, PHP 5)
pg_unescape_bytea — Supprime la protection d'une chaîne de type bytea
$data
)pg_unescape_bytea() supprime la protection des caractères de type bytea. Elle retourne la chaîne de caractères protégée, pouvant contenir des données binaires.
Note:
Lorsque vous utilisez une commande SELECT avec des données de type bytea, PostgreSQL retourne des valeurs octales, préfixées avec des antislashs \ (e.g. \032). Les utilisateurs doivent effectuer la conversion en format binaire eux-mêmes.
pg_escape_bytea() requiert PostgreSQL 7.2 ou plus récent. Avec PostgreSQL 7.2.0 et 7.2.1, les données de type bytea doivent être transtypée lorsque vous activez le support des chaînes de caractères multioctets. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);. PostgreSQL 7.2.2 ou plus récent ne requiert pas cette manipulation. Toutefois, si le client et le serveur n'utilisent pas le même jeu de caractères, il peut arriver des erreurs. Il faut alors forcer le transtypage manuellement pour éviter cette erreur.
data
Une chaîne de caractères contenant les données bytea PostgreSQL à être converties en chaîne de caractères binaire PHP.
Une chaîne de caractères contenant les données protégées.
Exemple #1 Exemple avec pg_unescape_bytea()
<?php
// Connexion à la base de données
$dbconn = pg_connect('dbname=foo');
// Récupération des données bytea
$res = pg_query("SELECT data FROM galerie WHERE nom='Arbres Pin'");
$raw = pg_fetch_result($res, 'data');
// Convertit en binaire et envoie au navigateur
header('Content-type: image/jpeg');
echo pg_unescape_bytea($raw);
?>