#29807 [Opn->Bgs]: forces .php extension in the download dialog
| From: | tony2001@php.net | Date: | Tue, 24 Aug 2004 05:02:52 +0000 |
| Subject: | #29807 [Opn->Bgs]: forces .php extension in the download dialog | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-65135@lists.php.net to get a copy of this message | ||
ID: 29807
Updated by: tony2001@php.net
Reported By: diptimca at yahoo dot com
-Status: Open
+Status: Bogus
Bug Type: HTTP related
Operating System: linux red had 9
PHP Version: 4.3.8
New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system
is not the
appropriate forum for asking support questions.
Thank you for your interest in PHP.
.
Previous Comments:
------------------------------------------------------------------------
[2004-08-24 06:58:42] diptimca at yahoo dot com
Description:
------------
hi,
i tried running the following code for downloading files.
<?php
// downloading a file use
http://somewhere.com/download.php/?filename=name
of file
$filename = $_GET['filename'];
if(!$filename){ echo "ERROR: No filename specified. Please try again.";
}
else {
// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache
// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
// use the Content-Disposition header to supply a recommended filename
and
// force the browser to display the save dialog.
header("Content-Disposition: attachment;
filename=".basename($filename).";");
header("Content-Transfer-Encoding: binary");
$root_path = "root path to image";
$myfile = $root_path . $filename;
header("Content-Length: ".filesize($myfile));
readfile("$myfile");
exit();
}
?>
It works well, but in the download dialog, it shows the filename of the
php file in which this code is written.
Even though i specify a txt file in myfile.
please help me for the same . its urgent
Reproduce code:
---------------
<?php
// downloading a file use
http://somewhere.com/download.php/?filename=name
of file
$filename = $_GET['filename']; // a txt file or doc file
if(!$filename){ echo "ERROR: No filename specified. Please try again.";
}
else {
// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0"); // set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
// browser must download file from server instead of cache
// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
// use the Content-Disposition header to supply a recommended filename
and
// force the browser to display the save dialog.
header("Content-Disposition: attachment;
filename=".basename($filename).";");
header("Content-Transfer-Encoding: binary");
$root_path = "root path to image";
$myfile = $root_path . $filename;
header("Content-Length: ".filesize($myfile));
readfile("$myfile");
exit();
}
?>
Expected result:
----------------
in the download dialog, the default file name should be the one got
form get method i.e "hello.txt"
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=29807&edit=1