Hi,
How can I force a download for the following file extensions:
gif, jpg, jpeg, png, psd, bmp, tiff, dib, tif, jpe, jfif, swf and txt.
I'm having trouble finding a code that will support all of them.
Thanks in advance,
Oli
Printable View
Hi,
How can I force a download for the following file extensions:
gif, jpg, jpeg, png, psd, bmp, tiff, dib, tif, jpe, jfif, swf and txt.
I'm having trouble finding a code that will support all of them.
Thanks in advance,
Oli
What do you mean? Force a download for those exntesions :s
If you try and force an image download, it will just simply open in the browser right?
That's what I thought. Because if you load an exe it will force it's download, but if you load an image it will show the image. There must be some way of forcing the download of forcing "Save Image As...".
lol mostly impossible anymore to force downloads cause it will always come up with open with:
or save to: window in firefox and it'll always come up to were you want to save it too.
Ah i do not actually think this is possible all i can suggest is saving it as a zip :)
My website is an image, text and flash host (www.urload.com). If I created a zip for every file that's been uploaded it would eat up my bandwith a lot more.
Hm then i don't think its possible, try www.google.com :)
I have a zillion times. I don't need it urgently, I just thought I could give my visitors the ability to download files from our database which have been uploaded from other users.
Hmm no sorry.
You could always put like 'To Download This Image - Right click on the image and press save as'
That's my alternative :)
Although, I did plan to disable right click to put a stop to multiple uploads (which will eat my bandwith) through right click >> refresh.
Perhaps use .htaccess to re-direct to the image file.
cAN YOU force a download?
I thought it only let you upload specific extensions?
zip the images up..
Perhaps use .htaccess to re-direct to the image file.
What do you mean? If you redirected a window to the image it would just display the image rather than download.
zip the images up..
I've already said why I'm not doing that.
Put it in a zip, and it'll ask if you want to download it?
edit: read post, hmm, I do not know, I will have a look.
Try modifying this. I got it off hotscripts.
PHP Code:<?php
$filename = $_GET['file'];
// required for IE, otherwise Content-disposition is ignored
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// addition by Jorg Weske
$file_extension = strtolower(substr(strrchr($filename,"."),1));
if( $filename == "" )
{
echo "<html><title>Download Script</title><body>ERROR: download file NOT SPECIFIED. USE force-download.php?file=filepath</body></html>";
exit;
} elseif ( ! file_exists( $filename ) )
{
echo "<html><title> Download Script</title><body>ERROR: File not found. USE force-download.php?file=filepath</body></html>";
exit;
};
switch( $file_extension )
{
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
// change, added quotes to allow spaces in filenames, by Rajkumar Singh
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
Its actually possible, heres the code:
Save that as process.phpPHP Code:
<?
$file = $_GET['file'];
header ("Content-type: octet/stream");
header ("Content-disposition: attachment; filename=".$file.";");
header("Content-Length: ".filesize($file));
readfile($file);
exit;
?>
Then to download the file put..
:)Code:<a href="process.php?file=picture.jpg">Download JPG image</a>
source: http://www.sometricks.com/2006/04/23...he-web-browser
I love you Sygon. (l)