Как заставить пользователя скачивать файл, а не просматривать его? - PullRequest
1 голос
/ 13 мая 2010

У меня есть страница загрузки, где я храню музыку, картинки, электронные книги и т. Д. Всякий раз, когда пользователи нажимают на изображение, оно открывает его, и то же самое происходит с файлами .pdf, если пользователь установил программу чтения PDF на своем ПК?

Я не хочу, чтобы они открывали файл, но чтобы загрузить его? Любые идеи

Ответы [ 3 ]

5 голосов
/ 13 мая 2010
header('Content-disposition: attachment; filename=NAME_OF_YOUR_FILE');
1 голос
/ 13 мая 2010

Вы должны добавить заголовок для принудительной загрузки.

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

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

0 голосов
/ 23 июля 2011

С 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

Инструкции можно поместить в файл .htaccess, который сам должен находиться в каталоге, содержащем ваши носители. Вы используете практически любое расширение. Следующая строка может также помочь против агрессивных плагинов:

Header set Content-Type "application/octet-stream" env=REQUESTED_FILE_BASENAME
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...