Maison >développement back-end >tutoriel php >请教header强制下载的问题

请教header强制下载的问题

WBOY
WBOYoriginal
2016-06-20 12:30:46874parcourir

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

<?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 .....

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn