怎样让下载的mp3格是音乐不自动运行,而是另存为
时间:2006-01-23 来源:wleige
在网页上有一个下载连接
点击进入一个页面进行身份验证后,如果通过
header("Location:".$lien);
比如说$lien=ftp://***:***@***.ftp/test.mp3
进行下载
我想让下载后直接另存为,可以选择路径存在机器上。至少提问打开还是另存路径
但是现在如果机子上装有realplay等软件,下载后直接就运行了,没有提问另存为。这样很多用户下载了也找不到在哪里。
怎么办?
我写了个
header('Pragma: public');
header('Cache-Control: private');
header('Cache-Control: no-cache, must-revalidate');
header('Accept-Ranges: bytes');
header('Connection: close');
header("Content-Type: multipart/mixed");
header("Location:".$lien);
不行
有人说直接在mp3文件夹加一个.htaccess就好了,但是在网上没有找到相关内容。
发送这样的header:
$name = "test.mp3";
@header("Content-Type:application/x-msdownload");
@header("Content-Disposition:".(strstr($_SERVER[TTP_USER_AGENT],"MSIE")?"":"attachment;")."filename=$_SERVER[SERVER_NAME]-$name");
问题是,如果文件是在http服务器上,都没有问题
可是mp3实在ftp服务器上
ftp://***:***@***/music/***.MP3
就下载不出来东西
那你就得使用代码先登陆ftp
$server='130.130.36.36'; // ftp server
$connection = ftp_connect($server); // connection
// login to ftp server
$user = "also";
$pass = "also";
$result = ftp_login($connection, $user, $pass);
这要和http区别开的
要做两种的判断
点击进入一个页面进行身份验证后,如果通过
header("Location:".$lien);
比如说$lien=ftp://***:***@***.ftp/test.mp3
进行下载
我想让下载后直接另存为,可以选择路径存在机器上。至少提问打开还是另存路径
但是现在如果机子上装有realplay等软件,下载后直接就运行了,没有提问另存为。这样很多用户下载了也找不到在哪里。
怎么办?
我写了个
header('Pragma: public');
header('Cache-Control: private');
header('Cache-Control: no-cache, must-revalidate');
header('Accept-Ranges: bytes');
header('Connection: close');
header("Content-Type: multipart/mixed");
header("Location:".$lien);
不行
有人说直接在mp3文件夹加一个.htaccess就好了,但是在网上没有找到相关内容。
发送这样的header:
$name = "test.mp3";
@header("Content-Type:application/x-msdownload");
@header("Content-Disposition:".(strstr($_SERVER[TTP_USER_AGENT],"MSIE")?"":"attachment;")."filename=$_SERVER[SERVER_NAME]-$name");
问题是,如果文件是在http服务器上,都没有问题
可是mp3实在ftp服务器上
ftp://***:***@***/music/***.MP3
就下载不出来东西
那你就得使用代码先登陆ftp
$server='130.130.36.36'; // ftp server
$connection = ftp_connect($server); // connection
// login to ftp server
$user = "also";
$pass = "also";
$result = ftp_login($connection, $user, $pass);
这要和http区别开的
要做两种的判断
相关阅读 更多 +