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

text file download on .php page

P: n/a
Hello,
I am learning PHP5. I have little experience.
I have created a website in which I want to put a link to download a text
file. When I used simple
<a href="Dir/File.txt">Download file</a>
I had such problem that instead of dowloading the file contents was
displayed in browser. In some book on PHP5 I found a "solution": create a
link
<a href="Download.php?dir=Dir&file=File.txt">Download file</a>
and prepare Download.php file:

<?php
if (isset($_GET['dir']) && isset($_GET['file']))
{
$file = $_GET['dir'] . '/' . $_GET['file'];
$fd = fopen($file, 'r');
$size = filesize($file);
$contents = fread($fd, $size);
fclose($fd);
header("Content-Type: application/octet-stream");
header("Content-Length: $size;");
header("Content-Disposition: attachement; filename=$file");
echo $contents;
}
?>

But... again the file contents is displayed instead of downloading.
Could you help me please to write it correctly?
Thank you!
/RAM/
Jan 1 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
R.A.M. wrote:
Hello,
I am learning PHP5. I have little experience.
I have created a website in which I want to put a link to download a text
file. When I used simple
<a href="Dir/File.txt">Download file</a>
I had such problem that instead of dowloading the file contents was
displayed in browser. In some book on PHP5 I found a "solution": create a
link
<a href="Download.php?dir=Dir&file=File.txt">Download file</a>
and prepare Download.php file:

<?php
if (isset($_GET['dir']) && isset($_GET['file']))
{
$file = $_GET['dir'] . '/' . $_GET['file'];
$fd = fopen($file, 'r');
$size = filesize($file);
$contents = fread($fd, $size);
fclose($fd);
header("Content-Type: application/octet-stream");
header("Content-Length: $size;");
header("Content-Disposition: attachement; filename=$file");
echo $contents;
}
?>

But... again the file contents is displayed instead of downloading.
Could you help me please to write it correctly?
Thank you!
/RAM/
Nothing is wrong with the code.

This is completely up to the browser. You can make recommendations, but
that's all.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Jan 1 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.