Re: [SQL] bytea or large object

From: Frank Joerdens <frank(at)joerdens(dot)de>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: Jean-Christophe FABRE <jean-christophe(dot)fabre(at)ensam(dot)inra(dot)fr>, pgsql-php(at)postgresql(dot)org
Subject: Re: [SQL] bytea or large object
Date: 2002-04-04 07:00:01
Message-ID: 20020404090001.A28086@superfly.archi-me-des.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php pgsql-sql

On Wed, Apr 03, 2002 at 08:12:45AM -0800, Joe Conway wrote:
> Jean-Christophe FABRE wrote:
> >
> > Hi,
> >
> > I would like to store .pdf files in a database, which is accessed through
> > a PHP interface. which is the best way to store binary data? -
> > bytea? (with the tricky handling of escape chars) - large objects?
> >
> > thanks
> >
> > JC
> >
> > PS: I didn't found any example of scripts using bytea in PHP, does
> someone
> > has some?
>
> Here's an escape script that was sent to me by Thomas T. Thai.
>
> function escByteA($binData) {
> /**
> * \134 = 92 = backslash, \000 = 00 = NULL, \047 = 39 = Single Quote
> *
> * str_replace() replaces the searches array in order. We must
> * process the 'backslash' character first. If we process it last,
> * it'll replace all the escaped backslashes from the other searches
> * that came before.
> */
> $search = array(chr(92), chr(0), chr(39));
> $replace = array('\\\134', '\\\000', '\\\047');
> $binData = str_replace($search, $replace, $binData);
> return $binData;
> }
>
> There is also a function built in to PHP 4.1.2, available if you're
> using PostgreSQL 7.2, called pg_escape_bytea.

AFAIK you need PHP >= 4.2 to use pg_escape_bytea which is currently
available as rc1, i.e. not released. I tried pg_escape_bytea with rc1
and it segfaults (the process crashes). The function above works fine
though.

Regards, Frank

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Frank Joerdens 2002-04-04 09:40:51 Re: bytea or large object
Previous Message eyou321 2002-04-04 06:03:06 ADV: Harvest lots of Email addresses quickly

Browse pgsql-sql by date

  From Date Subject
Next Message Frank Joerdens 2002-04-04 09:40:51 Re: bytea or large object
Previous Message Iklódi Lajos 2002-04-04 03:41:22 Re: Update in trigger