web-dev-qa-db-ja.com

Content-Disposition:アタッチメントを実装する方法?

私のサイトのmp3が右クリックして名前を付けて保存する代わりに左クリックでダウンロードされるようにしようとしています。そのためには、Content-Disposition:添付ファイルを設定する必要があります。これは私の最初のWebサイトなので、これを実際に行う方法は初めてですが、これを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>
15
Jean Hules

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.'"');

?>
22

他の人が言ったように、HTMLではそれを行わず、動的なソリューション(PHPを使用するなど)はやりすぎです。

あなたの場合、Webサーバーの構成でContent-Dispositionヘッダーを構成します。 Apacheの場合、ヘッダー 場所に基づく を設定するか、特定のファイル名に一致する 。htaccess ファイルを作成できます。

3
user3468501

PHPにもそのための特別な関数があります。

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

ここでPHPマニュアルを参照してください: http://de2.php.net/manual/en/function.http-send-content-disposition .php

1
gruentee