you code is *still* borked in pretty much the same way it
was to begin with ...
<?php

session_start();

if (isset($_SESSION['email'])) {
        if (isset($_GET['file'])) {
                $file = basename($_GET['file']);
                $full = '/var/www/'.$file;
                if (!is_readable($full)) {
                        $error = "Invalid filename.";
                } else {        
                        header('Content-type: application/pdf');
                        header('Content-Length: '.filesize($full));
                        header('Content-disposition: attachment; 
filename="'.$file.'"');
                        readfile($full);
                        exit;
                }
        }

        if (isset($error)) {
                echo "<p>there was an error: $error</p>";
        }

        echo '<p><a href="',$_SERVER['PHP_SELF'],'?file=testudio.pdf">download 
it!</a></p>';
        exit;
} else {
        echo '<p><a 
href="/login.php?redirect=',urlencode($_SERVER['PHP_SELF']),'">please 
login</a></p>';       
}

Mário Gamito wrote:
> Hi,
> 
>> Where did you get the $data variable?
>> as filesize($data) would return false here, and that's not a good
>> value for the Content-Length header :)
> Sorry, bad Copy & Paste.
> 
> I get it from:
> $data = readfile($full);
> 
> Result in the browser is:
> 
> "%PDF-1.4 %âãÏÓ 351 0 obj <> endobj xref 351 434 0000000016 00000 n
> 0000010281 00000 n 0000010417 00000 n 0000010574 00000 n 0000010607
> 00000 n 0000012850 00000 n 0000012884 00000 n 0000013037 00000 n
> 0000013174 00000 n 0000013704 00000 n 0000014104 00000 n 0000014488
> 00000 n 0000014700 00000 n 0000014747 00000 n 0000014794 00000 n
> 0000014842 00000 n 0000014889 00000 n 0000014937 00000 n 0000014984
> 00000 n 0000015033 00000 n 0000015082 00000 n 0000015130 00000 n
> 0000015179 00000 n 0000015228 00000 n 0000015277 00000 n 0000015326 "
> (etc...)
> 
> Full code after my signature.
> 
> Any help would be appreciated.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to