From: | "Thomas T(dot) Thai" <tom(at)minnesota(dot)com> |
---|---|
To: | Robert Myers <ccrider(at)whiterose(dot)net> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: ByteA for binary data? |
Date: | 2002-02-25 03:39:50 |
Message-ID: | Pine.NEB.4.43.0202242137220.24987-100000@ns01.minnesota.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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;
> > }
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Myers | 2002-02-25 03:39:51 | Re: ByteA for binary data? |
Previous Message | Robert Myers | 2002-02-25 03:37:48 | Re: ByteA for binary data? |