Frank Joerdens wrote:
I've played with fgets, fwrite, fputs, fpassthrough, trying to make a file pointer on stdout with fopen . . . it appears that I don't understand some crucial point about how this works. How do you present an image to the browser without actually creating a file for it? The built in function pg_loreadall appears to do exactly that. I'd need to replicate that functionality for bytea. Regards, Frank
I've always approached this a bit differently, but in any case, did you try to use "php://stdout"? If not see: http://www.php.net/manual/en/function.fopen.php
I usually create one php file to generate the image output, and a second one which calls the first. E.g. (untested)
---------------------- begin showimgage.php ---------------------- <?PHP $conn = pg_pconnect("host=192.168.100.70 dbname=bytea_test"); $query = "SELECT img FROM bytea_t where id=" . $_GET["imgid"]; $result = pg_exec($conn, $query); $image = stripcslashes(pg_result($result, 0, 0)); // send the image header("content-type: image/gif"); echo $image; ?> ---------------------- showimgage.php ---------------------- The second file would then have a line like: echo "<img src='showimage.php?imgid=1' border=0>"; Hope this helps, Joe