用户下载mp3文件时触发了此代码
$file = $_GET['file'];
$ext = pathinfo($file, PATHINFO_EXTENSION);
$match_array =array('pdf','mp3','mpa','ra','wav','wma','mid','m4a','m3u','iff','aif');
if(in_array($ext,$match_array)){
header("Content-type: application/".$ext);
header("Content-Disposition: attachment; filename=". $file);
readfile($file);
}
但是下载的文件为0字节,这是什么问题?
文件存在,并且$file
包含此值
https://mysite/upload/1/myfile.mp3
答案 0 :(得分:2)
您的问题可能是配置问题。
在php.ini From Here中必须记住
allow_url_fopen
=
另一种替代方法可能是改用以下代码并将其保存到本地文件系统中。
$localPath = "tmp/foo.mp3";
$contents = file_get_contents($file);
$save = file_put_contents($localPath, $contents);
答案 1 :(得分:1)
这是服务器问题,PHP设置为旧的5版本,所以当我将版本更改为7时,它工作正常。