首页 > 后端开发 > php教程 > 请教header强制下载的问题

请教header强制下载的问题

WBOY
发布: 2016-06-20 12:30:46
原创
861 人浏览过

新手不才,研究好久不知如何解决,恳请前辈解答。

<?php $file = 'http://tsmusic24.tc.QQ.com/105588684.mp3';$name = 'title';header("Content-Type: application/force-download;");header('Content-Type: audio/mpeg');header('Content-Disposition: attachment; filename='.$name.'.mp3');readfile($file);exit();?>
登录后复制


报错信息:readfile(http://tsmusic24.tc.QQ.com/105588684.mp3): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request

浏览器可正常访问该链接,使用header却无法强制下载,尝试curl访问,取得400状态码。


回复讨论(解决方案)

我机子试过,可以,不管在本地还是正式域名可以,是配置问题吧

我机子试过,可以,不管在本地还是正式域名可以,是配置问题吧



请问能贴下您的部分功能代码吗?我尝试在本地和服务器上都不能正常运行

把你的代码运行在我的本地,完全没问题,直接下载了MP3文件。


我机子试过,可以,不管在本地还是正式域名可以,是配置问题吧



请问能贴下您的部分功能代码吗?我尝试在本地和服务器上都不能正常运行

没有部分代码,就是直接复制你那段代码而已,就能下载了,所以你不用检查代码问题,从其他问题下手,比如是不是服务器的某些函数库没开,或者php下载的配置等等

把你的代码运行在我的本地,完全没问题,直接下载了MP3文件。


也就是说,下载得到的是完整大小的mp3文件?

楼上的都不要胡说!这也是下载?

203个字节就是 MP3?



我机子试过,可以,不管在本地还是正式域名可以,是配置问题吧



请问能贴下您的部分功能代码吗?我尝试在本地和服务器上都不能正常运行

没有部分代码,就是直接复制你那段代码而已,就能下载了,所以你不用检查代码问题,从其他问题下手,比如是不是服务器的某些函数库没开,或者php下载的配置等等


也就是说,下载得到的mp3文件是完整大小么?

楼上的都不要胡说!这也是下载?

203个字节就是 MP3?


浏览器打开该链接,得到的音乐文件是完整的(上M),而header强制下载得到的是报错信息(203b)

你用文本编辑器打开下载后的 title.mp3,就可看到只是些错误信息
纠正了那些错误后才能得到正确的结果

$file = 'http://tsmusic24.tc.QQ.com/105588684.mp3';readfile($file);
登录后复制


Warning:  readfile(http://tsmusic24.tc.QQ.com/105588684.mp3): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
 in .....

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板