Как реализовать Content-Disposition: вложение? - PullRequest
14 голосов
/ 16 января 2012

Я пытаюсь сделать так, чтобы mp3 на моем сайте загружались левым щелчком вместо того, чтобы щелкать правой кнопкой мыши и сохранять как. Поэтому для этого я должен установить вложение Content-Disposition :.Это мой первый веб-сайт, так что я новичок в том, как на самом деле это сделать, но я делаю это в своей HTML-разметке или я устанавливаю это как-то на своем хостинг-сайте?

Вот пример того, как выглядит моя разметка.

<div class="download">
<a href="MP3/Morgan Page, Sultan & Ned Shepard, and BT feat. Angela McCluskey.mp3" 
<img src="img/dlicon.png"/></a>
</div>

Ответы [ 3 ]

22 голосов
/ 16 января 2012

Пример списков MP3:

<a href="download.php?file=testing.mp3">Download MP3</a>
<a href="download.php?file=testing2.mp3">Download MP3</a>

download.php:

<?php

$file = $_GET['file'];  

header('Content-type: audio/mpeg');

header('Content-Disposition: attachment; filename="'.$file.'"');

?>
3 голосов
/ 27 марта 2014

Как уже говорили другие, вы не делаете этого в HTML, и динамическое решение (например, с использованием PHP) является излишним.

В вашем случае я бы настроил заголовок Content-Disposition в конфигурации веб-сервера. Для Apache вы можете установить заголовок на основе местоположения или иметь файл .htaccess , который соответствует определенным именам файлов.

1 голос
/ 12 июля 2014

Для этого в PHP есть специальная функция:

bool http_send_content_disposition ( string $filename [, bool $inline = false ] )

См. Руководство по PHP здесь: http://de2.php.net/manual/en/function.http-send-content-disposition.php

...