Starx
Starx

Reputation: 78941

How to force the user to download a file, not to view it?

I have a download page where i have kept musics, pictures, ebooks and etc. Whenever users click at the image it opens it, and same things happen with .pdf files if the user has installed pdf reader on their PC?

I dont want them to open the file but to download it? Any ideas

Upvotes: 1

Views: 1099

Answers (3)

Salman Arshad
Salman Arshad

Reputation: 272006

With Apache mod_headers:

SetEnvIf Request_URI "([^/]+\.jpg)$" REQUESTED_FILE_BASENAME=$1
SetEnvIf Request_URI "([^/]+\.mp3)$" REQUESTED_FILE_BASENAME=$1
SetEnvIf Request_URI "([^/]+\.pdf)$" REQUESTED_FILE_BASENAME=$1
Header set Content-Disposition "attachment; filename=\"%{REQUESTED_FILE_BASENAME}e\"" env=REQUESTED_FILE_BASENAME

The instructions can be placed inside a .htaccess file which itself must go in the directory containing your media. You use just about any extension. The following line might also help against aggressive plugins:

Header set Content-Type "application/octet-stream" env=REQUESTED_FILE_BASENAME

Upvotes: 0

Elph
Elph

Reputation: 1604

You have to add a header to force the download.

header("Content-Disposition: Attachment")
header("Content-Disposition: Attachment;filename=FILENAME_HERE")

from http://www.symkat.com/force-download-with-http-headers

Upvotes: 1

ThiefMaster
ThiefMaster

Reputation: 318468

header('Content-disposition: attachment; filename=NAME_OF_YOUR_FILE');

Upvotes: 5

Related Questions