> 백엔드 개발 > 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿