----- Original Message ----- From: "Ashley Sheridan" <ash@xxxxxxxxxxxxxxxxxxxx> To: "Ralph Deffke" <ralph_deffke@xxxxxxxx> Cc: <php-general@xxxxxxxxxxxxx> Sent: Saturday, August 29, 2009 3:16 PM Subject: Re: 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_deffke@xxxxxxxx >> >> "Dan Shirah" <mrsquash2@xxxxxxxxx> wrote in message >> news:a16da1ff0908281328k641ea332v25d887c4de5b347c@xxxxxxxxxxxxxxxxx >> > > >> > > 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 > >