Re: Saving result to file for download

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello!

Michael Glaesemann (nie 26. październik 2003 16:43):
> Hi all!
>
> I made a PHP script that formats and saves the output of a query to a
> file and provides a link to the file for download. I've never done this
> before and would appreciate any feedback. Here are things I'd like to
> improve or am concerned about.
> [...]
> 1. Right now the file is permanently saved in a directory [...]
> [...]
> I'd rather it be a temporary file so I wouldn't have to worry
> about clearing out the files if a lot of people generate results files.
> I'm not concerned that people won't be able to come back to the results
> file at a later date—they can just generate a new one.

Why have you decided to store results in a file? Is that file to be really 
big? or takes long to prepare?

Maybe generating the file 'on the fly' would be easier:

1) Provide a link to a script that generates the file 
(eg: <a href="file.php?type=whatever">get file here</a>

2) The script "file.php" sets the content type header to text/plain and just 
outputs the result of a query. I am not sure how to set HTTP header on Your 
webserver (with apache there is a PHP function header(string) )

You may find two HTTP headers interesting (examples from my script):

header("Content-type: text/plain; charset=ISO-8859-2");
// See RFC 2183 [49] (which updates RFC 1806) for details. Content-Disposition 
is not part of HTTP standard, but is widely used.
header("Content-Disposition: attachment; filename=anka.txt");

After this you just output your data.
That should work. You would then have no troubles with filenames-conflicts, 
disk space wasting and so on.
However some browsers may ignore the content-disposition header and suggest 
the filename 'file.php' when saving. I suppose that's not a big problem...

Bye,
  M.P.

- -- 
        [http://skoot.qi.pl for GPG keys]
"A computer programmer is someone who, when told to "Go to Hell", sees
the "Go to", rather than the destination, as harmful."
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE/nXhmvkWo15WV1rkRAjJ+AKCTZt4M6iu63kFRBgxeE7kjAvuZZgCfZI3b
QlXY7b+UpgvSqsojFoLY1UI=
=1CVb
-----END PGP SIGNATURE-----




[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux