Обсуждение: Load Image from File to Store in ByteA Field
How to Load Image from File to Store in ByteA Field?
Hi
> How to Load Image from File to Store in ByteA Field?
This is the way I store images with PHP. The column bild has the
datatype bytea.
function esc_bytea($imagedata) {
 $finde = array(chr(92), chr(0), chr(39));
 $ersetze = array('\\\134', '\\\000', '\\\047');
 $esc = str_replace($finde[0], $ersetze[0], $imagedata);
 $esc = str_replace($finde[1], $ersetze[1], $esc);
 $esc = str_replace($finde[2], $ersetze[2], $esc);
 return $esc;
}
     $fp = fopen($imagefile,"r");
     $contents = fread($fp, filesize($imagefile));
     fclose($fp);
     $esc_daten = esc_bytea($contents);
     $sql = "INSERT INTO byteatest (bild, name, size, typ, htmlstr) ";
     $sql .= "values ('$esc_daten', '$name', $size, '$typ',
'$htmlstr');";
     $res = @pg_exec($sql) or die ("Fehler bei der
Datenbankabfrage.");
Regards
Conni
			
		Any modern version of PHP which has pg_ specific functions can do it
like this:
    $string = pg_escape_bytea(file_get_contents($filename));
    pg_query("INSERT INTO TABLE pictures (picture_bytea) VALUES
('$string');");
I prefer to use pg_escape() rather than code my own escape.
Paul
>Hi
>
>
>
>>How to Load Image from File to Store in ByteA Field?
>>
>>
>This is the way I store images with PHP. The column bild has the
>datatype bytea.
>
>function esc_bytea($imagedata) {
> $finde = array(chr(92), chr(0), chr(39));
> $ersetze = array('\\\134', '\\\000', '\\\047');
> $esc = str_replace($finde[0], $ersetze[0], $imagedata);
> $esc = str_replace($finde[1], $ersetze[1], $esc);
> $esc = str_replace($finde[2], $ersetze[2], $esc);
> return $esc;
>}
>
>     $fp = fopen($imagefile,"r");
>     $contents = fread($fp, filesize($imagefile));
>     fclose($fp);
>     $esc_daten = esc_bytea($contents);
>
>     $sql = "INSERT INTO byteatest (bild, name, size, typ, htmlstr) ";
>     $sql .= "values ('$esc_daten', '$name', $size, '$typ',
>'$htmlstr');";
>     $res = @pg_exec($sql) or die ("Fehler bei der
>Datenbankabfrage.");
>
>Regards
>Conni
>
>
>---------------------------(end of broadcast)---------------------------
>TIP 8: explain analyze is your friend
>
>
>
>
			
		hi Paul > Any modern version of PHP which has pg_ specific functions can do it > like this: You are 100% right. My application had to run with PHP below 4.2 where pg_escape_bytea() was not yet defined. And it works also with higher PHP versions ;-) Conni
How big file size do I stored in ByteA Field.
----- Original Message -----
From: "Paul & Natalie T" <pntil@shentel.net>
To: <pgsql-php@postgresql.org>
Sent: Tuesday, February 03, 2004 7:49 AM
Subject: Re: [PHP] Load Image from File to Store in ByteA Field
> Any modern version of PHP which has pg_ specific functions can do it
> like this:
>
>     $string = pg_escape_bytea(file_get_contents($filename));
>     pg_query("INSERT INTO TABLE pictures (picture_bytea) VALUES
> ('$string');");
>
> I prefer to use pg_escape() rather than code my own escape.
>
> Paul
>
> >Hi
> >
> >
> >
> >>How to Load Image from File to Store in ByteA Field?
> >>
> >>
> >This is the way I store images with PHP. The column bild has the
> >datatype bytea.
> >
> >function esc_bytea($imagedata) {
> > $finde = array(chr(92), chr(0), chr(39));
> > $ersetze = array('\\\134', '\\\000', '\\\047');
> > $esc = str_replace($finde[0], $ersetze[0], $imagedata);
> > $esc = str_replace($finde[1], $ersetze[1], $esc);
> > $esc = str_replace($finde[2], $ersetze[2], $esc);
> > return $esc;
> >}
> >
> >     $fp = fopen($imagefile,"r");
> >     $contents = fread($fp, filesize($imagefile));
> >     fclose($fp);
> >     $esc_daten = esc_bytea($contents);
> >
> >     $sql = "INSERT INTO byteatest (bild, name, size, typ, htmlstr) ";
> >     $sql .= "values ('$esc_daten', '$name', $size, '$typ',
> >'$htmlstr');";
> >     $res = @pg_exec($sql) or die ("Fehler bei der
> >Datenbankabfrage.");
> >
> >Regards
> >Conni
> >
> >
> >---------------------------(end of broadcast)---------------------------
> >TIP 8: explain analyze is your friend
> >
> >
> >
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
			
		Up to about 1 gig (theoretically 2 gig max but encoding might take up some space.) On Tue, 3 Feb 2004, Muhyiddin A.M Hayat wrote: > How big file size do I stored in ByteA Field. >