Добро пожаловать, Гость. Пожалуйста, выберите Вход или Регистрация
Компьютерный форум Chitchat.RU
  Ну, наконец-то мы проапгрейдились!
 
  ГлавнаяСправкаПоискВходРегистрация  
 
Переключение на Главную Страницу Страниц: 1
Ответить
Как сделать, чтобы файл не открывался, а скачивался? (Прочитано 14231 раз)
Nykos
Тысячник
*****
Вне Форума



Сообщений: 5567
Russian Federation, Saint- Petersburg
Пол: male
Как сделать, чтобы файл не открывался, а скачивался?
19.01.2012 :: 11:53:52
Цитировать 
Сегодня столкнулся с необходимостью размещать на сайте ссылки на такие файлы как pdf. Выяснилось, что обычным методом эти файлы сразу открываются в браузере, а мне нужно, чтобы они сохранялись на диск. Поискал в интернете ответ на вопрос, и он есть, только код на php, а я в нем и не силен, и сайт у меня без грамма php, и протестировать локально не смогу, а ставить разные клиенты типа Denwer не очень хочется. Подскажите, пожалуйста, если кто знает, как осуществить это с помощью HTML кодов или JavaScript. Спасибо.
Наверх
 

Зенит - чемпион всего!
 
IP записан
 
Cheatministrator
Главный по тарелочкам
*****
Вне Форума


Cheats.RU(lez)

Сообщений: 10636
Санкт-Петербург
Пол: male
Re: Вопрос по поводу ссылок на файлы
Ответ #1 - 19.01.2012 :: 12:34:51
Цитировать 
Как я понимаю, это зависит от настроек веб-сервера, который говорит, что делать с файлом - открывать его или сохранять. Ты можешь настроить так, чтобы html у тебя скачивались, а zip открывались в окне браузера.

У тебя два пути:

1) Добавить в файл .htaccess следующие строки:

Code:
<FilesMatch "\.(?i:pdf)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch> 



2) Или если у тебя все-такие появится php, создать файл download.php следующего вида:

Code:
<?php if (isset($_GET['file'])) {
$file = $_GET['file'];
if (file_exists($file) && is_readable($file) && preg_match('/\.pdf$/',$file)) {
header('Content-type: application/pdf');
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($file);
}
} else {
header("HTTP/1.0 404 Not Found");
echo "<h1>Error 404: File Not Found: <br /><em>$file</em></h1>";
}
?> 



И ссылки на файлы делать вида:

Code:
<a href="http://www.tvoysite.ru/download.php?file=example.pdf">Click here to download PDF</a> 

Наверх
 
WWW  
IP записан
 
Nykos
Тысячник
*****
Вне Форума



Сообщений: 5567
Russian Federation, Saint- Petersburg
Пол: male
Re: Как сделать, чтобы файл не открывался, а скачивался?
Ответ #2 - 19.01.2012 :: 21:54:09
Цитировать 
Спасибо большое. Первый способ помог. Правда, такого файла у меня не оказалось, поэтому пришлось создать его.
Наверх
 

Зенит - чемпион всего!
 
IP записан
 
Переключение на Главную Страницу Страниц: 1
Ответить
Как сделать, чтобы файл не открывался, а скачивался?
Открыть Предпросмотр в реальном времени Просмотр


Вы можете изменить размер поля сообщений потянув за его правый или нижний край.
                       
Максимальное число символов в Сообщении - 9000. Осталось:
Размер текста: pt
Скрыть дополнительные возможности Скрыть/Показать дополнительные возможности

      

 
 
 
Подпишитесь на новостную рассылку
«Коды к играм от Cheats.RU»


 
 
Обновления Cheats.RU | Последние 20 отзывов к играм на сайте Cheats.RU | Правила форума



Rambler's Top100 eXTReMe Tracker