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:02:33 |
Message-ID: | Pine.NEB.4.43.0202242058430.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'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.
>
> I'm not sure how I should approach storing image data inside of Postgres.
>
> I really need to improve the management of my images.
>
> Has anyone else done this without the benefit of the LO support?
>
> I've read the available documentation on LO and bytea, and both seem to
> have troubles, is this something that will be fixed in a future
> release? I'm currently running 7.2.
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 | Peter Lacey | 2002-02-25 03:33:08 | Re: Starting Postmaster |
Previous Message | Doug McNaught | 2002-02-25 03:00:12 | Re: ByteA for binary data? |