From: | ljb <ljb220(at)mindspring(dot)com> |
---|---|
To: | pgsql-php(at)postgresql(dot)org |
Subject: | Re: blob size after pg_lo_open |
Date: | 2004-08-12 01:13:21 |
Message-ID: | cfeg7h$1lt7$1@news.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-php |
TDyson(at)sybex(dot)com wrote:
> I have to store some files in a database and let users download the files.
> I want to pull the file size so I can use the HTTP Content-length
> header. I've tried using PHP's fstat to return the size, but I think the
> object returned by pg_lo_open is not suitable.
No, you can't use fstat() on a large object handle. If you really need the
large object size, you have to open the large object with pg_lo_open(),
seek to the end with pg_lo_seek($loid, 0, PGSQL_SEEK_END), and then get the
position with pg_lo_tell($loid). This will return the number of bytes in
the large object. But if you find yourself doing this a lot, you might be
better off storing the file size (as calculated when uploaded) in another
field in the database record.
> Any ideas? BTW, I figured this was a pretty common need, but I could not
> find a complete widget to deal with it. The best I could come up with was
> complete apps, mostly image galleries, and a few code snippets.
I've hardly ever bothered with Content-length. There is probably some
advantage to using it but I don't know what it might be.
From | Date | Subject | |
---|---|---|---|
Next Message | Majolee InfoTech | 2004-08-12 05:24:08 | Re: Strange session problem |
Previous Message | Justin Wyer | 2004-08-11 22:53:46 | Re: Strange session problem |