如何实现Content-Disposition:附件?

我试图让我的网站上的MP3是通过左键单击下载,而不是必须右键单击并保存,所以为了做到这一点,我必须设置内容处置:附件。 这是我的第一个网站,所以我是新的如何实际做到这一点,但是我在我的HTML标记做这个,或者我设置此与我的托pipe网站?

这里是我的标记看起来像一个例子。

<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 Solutions collect form web for “如何实现Content-Disposition:附件?”

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

正如其他人所说,你不这样做在HTML中,dynamic的解决scheme(例如,使用PHP)是矫枉过正。

在你的情况下,我会在Web服务器configuration中configurationContent-Disposition标头。 对于Apache,您可以根据位置设置标题,或者使用匹配某些文件名的.htaccess文件。

在PHP中也有一个特殊的function:

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

请参阅PHP手册 : http : //de2.php.net/manual/en/function.http-send-content-disposition.php

  • 你将如何访问对象方法中的对象属性?
  • 检查值是否设置为null
  • 如何将HTML插入到PHP DOMNode?
  • 在一个Class方法中调用一个函数?
  • 致命错误:超过300秒的最大执行时间
  • 有没有一点要缩小PHP?
  • 是否有一个用PHP的数据库访问的单身人士的使用情况?
  • 我不能让我的login表单连接与mySQL数据库正常交互
  • 警告:mysql_result()期望参数1是资源,布尔给定
  • MySQL变更表在字段已经存在之前或之后添加字段
  • 如何replace我的string的某些部分?