Re: bytea or large object

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: bytea or large object
Дата
Msg-id 3CAB29FD.90606@joeconway.com
обсуждение исходный текст
Ответ на bytea or large object  (Jean-Christophe FABRE <jean-christophe.fabre@ensam.inra.fr>)
Ответы Re: [SQL] bytea or large object  (Frank Joerdens <frank@joerdens.de>)
Список pgsql-php
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.

Read the pdf file into a string, then use either of these to escape the
string. The you can do a simple SQL insert. To retrieve the original
files, use stripcslashes() to restore the query result string.

Hope this helps,

Joe



В списке pgsql-php по дате отправления:

Предыдущее
От: Timothy_maguire@hartehanks.com
Дата:
Сообщение: Re: bytea or large object
Следующее
От: Frank Joerdens
Дата:
Сообщение: Re: [SQL] bytea or large object