php MP3文件下载功能的实现

摘要:
先设置流的Content-Type和web服务器的mime类型。

方式一:生成文件,返回一个链接,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);
}

免责声明:文章转载自《php MP3文件下载功能的实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# TimeSpan 时间计算StringUtils.join()方法的方法和使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

音频拼接的简单实现方法(python一种,java两种)

音频拼接,就是5s+5s=10s的这种拼接。 需要修改的地方都是有三处,在代码里标注好了。 一、Python实现: Python3 #!/usr/bin/env python # -*- coding:utf-8 -*- # ok,音频拼接 from pydub import AudioSegment # 先导入这个模块 # 加载需要合并的两个mp3音...

linux下启动多个php,分别监听不同的端口,比如9000与9001

在工作中,我们可能会遇到,服务器集群的搭建。 这个时候,我们不可能,每一台服务器都是lnmp的环境,我们会把nmp分别放在不同的服务器上,不同的服务器负责不同的功能。比如我们下面要说的php 加入nginx和mysql已经在其他的服务器上配置好了,这个时候我们就需要将php这另外一台空闲的服务器上配置好。既然上服务器的集群,那肯定是要用到高并发和大容量的。...

Zend Framework 教程:简单的注册和登录验证

注:本系列教程都在zend studio 6.1.1上开发完成,amp环境全部自己配置,以避免使用类似xampp\wamp等继承环境带来的未知问题。 1、首先创建存储用户的表   2、创建对应于数据库表的数据库访问模型,即Zend Table 在zend studio的工程上右键选择New Zend Framework Item,选择Zend Table,...

PHP二维数组如何根据某个字段排序

分享下PHP二维数组如何根据某个字段排序的方法。 从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组...

php控制器四

简单来讲,控制器的作用就是接受请求。它使用获取的方法,在这里是通过URI,载入一个功能模块来刷新或者提交一个表述层。控制器将使用$_GET自动全局变量来判断载入哪一个模块。   一个请求的例子,看起来像这样:  http://example.com/index.php?module=login  这看起来很简单,但是在实现的过程中却不是。这里是几个控制器能...

PHP错误:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

使用PHP连接MySQL 8的时候,可能会发生如标题所示的错误: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client 发生这种错误,是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的P...