php MP3文件下载功能的实现
方式一:生成文件,返回一个链接,window.href = 链接;
方式二:hearder输出文件流。
先设置流的Content-Type和web服务器的mime类型。
mime类型参考
一个header文件流下载mp3文件的实例,
服务器端:
function download(){ $full_path = 'pro/mp3/demo.mp3'; $file_size = filesize($full_path); header("Content-type:audio/mpeg"); header("Accept-Ranges:bytes"); header("Accept-Length:$file_size"); header("Content-Disposition:attachment;filename=demo.mp3"); readfile($full_path); exit(); }
客户端: function down_mp3($url, $data){ // curl下载文件 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $mp3 = curl_exec($ch); if (curl_errno($ch)) { echo 'Errno'.curl_error($ch); } curl_close($ch); // 保存文件到指定路径 file_put_contents("f:/voice/test.mp3" , $mp3); unset($mp3); }
hello,world~~~