You are here: Creating download link for a pdf « PHP Programming Language « IT news, forums, messages
Creating download link for a pdf

Posted by Adrian on 11/02/06 00:00

Using:
Mysql 5.0.15
php 5.1.6
apache 2.2.3

I am trying to create a download link for various pdfs which I have stored in a
mysql DB.

I am having trouble with the header fields when clicking the link.

Here is the code that sends the pdf called using
<a href="download.php?id=4">Blah</a>

Output is delayed from php.ini (output_buffering = 4096)

What http headers should I be sending.

This works most of the time like this, but in IE6 I get few strange results
sometimes.

1. Clicking on a new page after downloading the pdf - the page is blank unless I
refresh
2. The URL in the address bar does not update even though the page does.
3. If I leave out the Content_Disposition header and set the Content-Type:
application/pdf. The browser just displays the PDF as text.

<?php
include($_SERVER["DOCUMENT_ROOT"] . "/../php/common.inc");
include($_SERVER["DOCUMENT_ROOT"] . "/../php/prepend.php");

$db=new Interlex_DB;

if(isset($_GET["id"]))
{
$query=sprintf("SELECT pdf, filename, length(pdf) AS len FROM broadsheets
WHERE broadsheet_id='%d' AND active=1", $_GET["id"]);
$db->query($query);
if($db->next_record())
{
if(!headers_sent())
{
header("Accept-Ranges: bytes");
header("Content-Transfer-Encoding: Binary");
header("Content-Type: application/force-download");
header(sprintf("Content-Length: %d", $db->f("len")));
header(sprintf("Content-Disposition: inline; filename=\"%s\"",
$db->f(filename)));
echo $db->f("pdf");
//exit;
}
}
}
?>

--

Adrian

Think you know a language? Post to comp.lang... and find out!

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация