Rumah > pembangunan bahagian belakang > tutorial php > 请教header强制下载的问题

请教header强制下载的问题

WBOY
Lepaskan: 2016-06-20 12:30:46
asal
861 orang telah melayarinya

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

<?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();?>
Salin selepas log masuk


报错信息: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);
Salin selepas log masuk


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

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan