Re: ByteA for binary data? - Mailing list pgsql-general

From Thomas T. Thai
Subject Re: ByteA for binary data?
Date
Msg-id Pine.NEB.4.43.0202242137220.24987-100000@ns01.minnesota.com
Whole thread Raw
In response to Re: ByteA for binary data?  (Robert Myers <ccrider@whiterose.net>)
Responses Re: ByteA for binary data?
List pgsql-general
On Sun, 24 Feb 2002, Robert Myers wrote:

> I did this with the CVS version of PHP, v 4.2.0 dev.
>
> I downloaded it for the function pg_escape_bytea, still no go, I can't get
> the data into the field.

did you try as i said below? i've tested it on php 4.0.6 - 4.1.0. i've not
used pg_escape_bytea so i can't comment on it.

> > > I'm having a problem with the bytea datatype.  I'm trying to store image
> > > data inside the field in a table, and php seems to only be sending a small
> > > portion of the image into the database.
[...]
> > to use bytea with php, encode the image data with escByteA() below before
> > storing it in your db. then when you retrieve the data, use php's
> > stripcslashes(). i've tested this on various image data and they all work
> > just fine.
> >
> > function escByteA($binData) {
> >   /**
> >    * \134 = 92 = backslash, \000 = 00 = NULL, \047 = 39 = Single Quote
> >    *
> >    * str_replace() replaces the searches array in order.
> >    * Therefore, 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. tomATminnesota.com
> >    */
> >   $search = array(chr(92), chr(0), chr(39));
> >   $replace = array('\\\134', '\\\000', '\\\047');
> >   $binData = str_replace($search, $replace, $binData);
> >   return $binData;
> > }




pgsql-general by date:

Previous
From: Robert Myers
Date:
Subject: Re: ByteA for binary data?
Next
From: "Thomas T. Thai"
Date:
Subject: Re: ByteA for binary data?