Re: Extra byte added to PDF streaming file
| From: | Curt Zirzow | Date: | Tue, 27 Jul 2004 01:05:53 +0000 |
| Subject: | Re: Extra byte added to PDF streaming file | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-191928@lists.php.net to get a copy of this message | ||
* Thus wrote Scott Taylor:
>
> $fp = fopen($file, 'rb');
> // send the right headers
> header("Content-Type: application/pdf");
> header("Content-Length: " . filesize($file));
> // dump the file and stop the script
> fpassthru($fp);
>
> ...
>
> The reason for this is that somehow a hex 0A is added before the inital
> %PDF-1.2 which marks the start of the PDF file causing some readers to
> not recognize it as a PDF file. Is there anything in this code which
> could possibly (always) cause an extra byte (0A) to be added before the
> real start of the file? And no, the file is not corrupted (I've
> already tried that) - this only happens when it goes through this
> script, and not loaded directly as example.com/file.pdf.
The reason this can happen is if you are including a file that
looks like this:
<?php
// content of includ file
?>
EOF
To find out where this is, turn error_reporting(E_ALL); and
ini_set('display_errors', true); you'll get a message telling you
that output was sent before the headers, and on what line the
output started on.
Curt
--
First, let me assure you that this is not one of those shady pyramid schemes
you've been hearing about. No, sir. Our model is the trapezoid!