简体   繁体   中英

How to implement Content-Disposition: attachment?

I am trying to make it so that mp3's on my site are downloaded by left clicking instead of having to right click and save as, So in order to do that, I have to set the Content-Disposition: attachment. This is my first website so I am new to how to actually do this, but do I do this in my html markup or do I set this somehow with my hosting site?

Here is an example of what my markup looks like.

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

Example of MP3 Lists:

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

?>

As others have said, you don't do that in HTML, and a dynamic solution (eg, using PHP) is overkill.

In your case, I'd configure the Content-Disposition header in the web server config. For Apache, you could set the header based on location , or have a .htaccess file that matches certain filenames.

There's a special function for that in PHP, too:

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

See PHP Manual here: http://de2.php.net/manual/en/function.http-send-content-disposition.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM