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

Posted by David Gillen on 11/02/06 14:24

An noise sounding like Adrian said:
> 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.
>
header("Content-disposition: application/pdf");

Might have incorrect mime type, but you should be setting that header.

D.

> 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!


--

/(bb|[^b]{2})/
Trees with square roots don't have very natural logs.
What's the difference between ignorance and apathy? Who knows? Who cares?

 

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

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