----- Original Message ----- 
From: "Ashley Sheridan" <a...@ashleysheridan.co.uk>
To: "Ralph Deffke" <ralph_def...@yahoo.de>
Cc: <php-general@lists.php.net>
Sent: Saturday, August 29, 2009 3:16 PM
Subject: Re: [PHP] File Open Prompt?


> On Sat, 2009-08-29 at 09:03 +0200, Ralph Deffke wrote:
>> are u shure, u dont send anything out before u send the headers? even one
>> space would be too much.
>> 
>> ralph_def...@yahoo.de
>> 
>> "Dan Shirah" <mrsqua...@gmail.com> wrote in message
>> news:a16da1ff0908281328k641ea332v25d887c4de5b3...@mail.gmail.com...
>> > >
>> > > You will need to add some headers to the page to popup the prompt, at
>> least
>> > > with
>> > > these.
>> > >
>> > > $filename = 'somefile.tif';
>> > > $filesize = filesize($filename);
>> > >
>> > > header('Content-Type: application/force-download');
>> > > header('Content-disposition: attachement; filename=' . $filename);
>> > > header('Content-length: ' . $filesize);
>> > >
>> > > Eric
>> > >
>> > >
>> >
>> > I don't know what I'm doing wrong.  I've tried:
>> >
>> > header('Content-Description: File Transfer');
>> > header('Content-Type: application/force-download');
>> > header('Content-Length: ' . filesize($filename));
>> > header('Content-Disposition: attachment; filename=' . basename($file));
>> > readfile($file);
>> > AND
>> >
>> > if (file_exists($new_file)) {
>> >     header('Content-Description: File Transfer');
>> >     header('Content-Type: application/octet-stream');
>> >     header('Content-Disposition: attachment; filename='.basename($new_file
>> > ));
>> >     header('Content-Transfer-Encoding: binary');
>> >     header('Expires: 0');
>> >     header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
>> >     header('Pragma: public');
>> >     header('Content-Length: ' . filesize($new_file));
>> >     ob_clean();
>> >     flush();
>> >     readfile($new_file);
>> >     exit;
>> > }
>> >
>> > But everything I do just sends heiroglyphics to the screen instead of
>> giving
>> > the download box.
>> >
>> 
>> 
>> 
> Try putting all of that inside of a headers_sent(){} block. If nothing
> is displayed, it means that you've already sent something to the
> browser, so the headers have already been sent and the extra ones you
> are sending do nothing. This sort of thing is shown in your error log
> also.
> 
> If you still get the tif displayed as text, then are you sure that the
> tif is valid?
>

You may also try put these line at top of page to avoid anythings sent before
your attachment headers

error_reporting(E_ALL);
ini_set('display_errors', 1);

Which browsers you used to test it and  their versions ?


- Eric


> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
> 
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
>

Reply via email to