Thread: 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. >