By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,278 Members | 1,342 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,278 IT Pros & Developers. It's quick & easy.

Generating CSV files which open correctly in IE

P: n/a
I'm working on a site which dynamically generates tables of rates in CSV
format. The script which does the work is called generate_stats.php. Here's
the header

header ("Content-type: application/octet-stream");
header ("Content-Disposition: attachment; filename=query-results.csv");
header ("Pragma: no-cache");
header ("Expires: 0");

Now in Mozilla, the user is correctly asked if they want to save or open a
file called query-results.csv

However in IE5 the user is asked if they want to open or save a file called
generate_stats.php.
If they open they're then asked if they want to open or save a file called
query-results.csv.

Does anyone know how I can arrange for IE to immediately open a file called
query-results.csv?

Thanks
--
Bryan

Jul 17 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Bryan Feeney wrote:
I'm working on a site which dynamically generates tables of rates in CSV
format. The script which does the work is called generate_stats.php. Here's
the header

header ("Content-type: application/octet-stream");
header ("Content-Disposition: attachment; filename=query-results.csv");
header ("Pragma: no-cache");
header ("Expires: 0");

Now in Mozilla, the user is correctly asked if they want to save or open a
file called query-results.csv

However in IE5 the user is asked if they want to open or save a file called
generate_stats.php.
If they open they're then asked if they want to open or save a file called
query-results.csv.

Does anyone know how I can arrange for IE to immediately open a file called
query-results.csv?


IE is braindead (as if you didn't already know that) and defaults to the
script name on saving files totally ignoring the disposition filename.

Link to your script with:
http://www.server.com/generate_stats...ry-results.csv
.... and it might just be able to fathom out what you want it to do. The
server strips off the last part and shoves it in $_SERVER['PATH_INFO']
Jul 17 '05 #2

P: n/a
"Bryan Feeney" <bf*****@oceanfree.net> wrote in message news:<2i************@uni-berlin.de>...
I'm working on a site which dynamically generates tables of rates in CSV
format. The script which does the work is called generate_stats.php. Here's
the header

header ("Content-type: application/octet-stream");
header ("Content-Disposition: attachment; filename=query-results.csv");
header ("Pragma: no-cache");
header ("Expires: 0");

Now in Mozilla, the user is correctly asked if they want to save or open a
file called query-results.csv

However in IE5 the user is asked if they want to open or save a file called
generate_stats.php.
If they open they're then asked if they want to open or save a file called
query-results.csv.

Does anyone know how I can arrange for IE to immediately open a file called
query-results.csv?


<?php
$file_name = 'file.csv';
header('Content-Type: text/x-csv');
// IE need specific header (to show the correct name of downloading file)
// grabbed from phpMyAdmin...
if (strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {
header('Content-Disposition: inline; filename="' . $file_name . '"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
} else {
header('Content-Disposition: attachment; filename="' . $file_name . '"');
header('Pragma: no-cache');
}
//rest...
?>

--
| Just another PHP saint |
Email: rrjanbiah-at-Y!com
Jul 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.