Re: File Open Prompt?
| From: | Eric | Date: | Fri, 28 Aug 2009 19:27:41 +0000 |
| Subject: | Re: File Open Prompt? | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-297445@lists.php.net to get a copy of this message | ||
----- Original Message -----
From: "Ashley Sheridan" <ash@ashleysheridan.co.uk>
To: "Dan Shirah" <mrsquash2@gmail.com>
Cc: "PHP General" <php-general@lists.php.net>
Sent: Saturday, August 29, 2009 3:10 AM
Subject: Re: [PHP] File Open Prompt?
> On Fri, 2009-08-28 at 15:03 -0400, Dan Shirah wrote:
>
>> Greetings,
>>
>> I'm having a problem trying to get a file download prompt.
>>
>> Basically I have a page with image links.
>>
>> When the link is clicked, the user is directed to another page I have. That
>> page finds the image path based on the image ID from the previous page.
>>
>> Once the image path is found I copy the image to the local webserver and
>> rename the proprietary extension, .0D9 to .tif
>>
>> Once the file is renamed to .tif I want the download prompt to come up. You
>> know, where it says, "Open" "Save" "Cancel".
>>
>> I've tried using:
>>
>> $fp = fopen($new_file,"r") ;
>> header("Content-Type: image/tif");
>> while (! feof($fp)) {
>> $buff = fread($fp,filesize($new_file));
>> print $buff;
>> }
>>
>> But that just gives me heiroglyphics on the screen instead of prompting the
>> user to download.
>>
>> Here is my code that copies and renames the file:
>>
>> if ($page != "" || $page != " ") {
>> exec("xcopy ".$page." ".$topage."");
>> }
>> $orig_file = $topage."\\".$objectid.".0D9";
>> //echo $orig_file;
>> $new_file = $topage."\\".$objectid.".tif";
>> //echo $new_file;
>>
>> rename($orig_file,$new_file);
>>
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
>> Any ideas on how to make the browser give the download prompt for $new_file?
>>
>> Thanks,
>> Dan
>
> You need to send down the right headers to the browser, so that it knows
> it's meant to save the file, and not attempt to display it. If the link
> was to a file, you'd have certain header that informed the browser the
> mime type of the file.
>
> Thanks,
> Ash
> http://www.ashleysheridan.co.uk
>
>
>