PHP微信开发之微信录音临时转永久存储php技巧
这篇文章主要为大家详细介绍了PHP微信开发之微信录音临时转永久存储,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
最近做开发的时候碰到了这个问题,甲方希望用户在微信端的录音能够一直有效。就是随时打开好友的分享就能听到好友的录音。可在微信官方开发手册上查到微信录音文件上传后只能在微信端保留3天时间,3天后就失效了。怎么办呢?
1、通过调用微信媒体资源下载接口将微信录音下载到本地
@params String access_token 微信公众号access_token String serverId 通过录音上传接口获取到的serverId http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$access_token}&media_id={$serverId}
2、从微信方下载到本地的录音文件格式是amr,而微信网页浏览器并不支持amr文件的音频文件播放。所以我们需要将amr 转换成
网页能够识别的mp3格式。
怎么转换呢?我找到了一个平台可以支持这种转换,七牛云存储平台.通过七牛云存储我们可以将amr转换成mp3
require("./extension/autoload.php");//官方开发包 可在官方下载 php版本 载入其中的autoload.php extension 是随意 起的名字 /** * @param * String $filepa 本地amr文件路径 * @return * String 解析后存储在七牛存储空间中的mp3远程地址 */ function upchange($filepa){ $accessKey="七牛accessKey 在七牛后台获取"; $secretKey="七牛secretKey 在七牛后台获取"; $httpUrl ="七牛分配的访问地址 在七牛后台获取"; $bucket = "存储空间对象bucket 在七牛后台创建"; //转码时使用的队列名称 $pipeline = '转码队列名称 在七牛后台创建'; $auth = new \Qiniu\Auth($accessKey, $secretKey); $rand_name = getRandChar__(6).time().'.mp3'; //要进行转码的转码操作 $fops = "avthumb/mp3/ab/64k/ar/22050"; //$fops = "mp3"; //可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当间 $savekey = Qiniu\base64_urlSafeEncode('kepei:'.$rand_name); $fops = $fops.'|saveas/'.$savekey; $policy = array( 'persistentOps' => $fops, 'persistentNotifyUrl' => 'http://', ); $uptoken = $auth->uploadToken($bucket, null, 3600, $policy); //上传文件的本地路径 $filePath = $filepa; $key = $rand_name; //$key = ''; $uploadMgr = new \Qiniu\Storage\UploadManager(); list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath); if ($err !== null) { return false; } else { return $httpUrl.$rand_name; } } function getRandChar__($length){ $str = null; $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"; $max = strlen($strPol)-1; for($i=0;$i<$length;$i++){ $str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max两个数之间的一个随机整数 } return $str; } $amrToMp3 = upchange('本地amr文件路径'); //mp3 在七牛上的访问地址 var_dump($amrToMp3); /** * 如果你希望将这个mp3 存储在本地而不是在七牛上,那么你需要在程序上等待几秒,因为这时七牛在转换改amr的格式 */ sleep(10); $res = curlHttp($amrToMp3); //curlHttp 就是 php curl 机制 不懂的可以看下我下面文章机制 $open = fopen('demo.mp3','w'); fwrite($open,$res); fclose($open);
php curlHttp
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php中文网。
您可能感兴趣的文章:
win10 apache配置虚拟主机后localhost无法使用的解决方法php技巧
Laravel中unique和exists验证规则的优化详解php实例
以上是PHP微信开发之微信录音临时转永久存储php技巧的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

在PHP中可以通过使用不可预测的令牌来有效防范CSRF攻击。具体方法包括:1.生成并在表单中嵌入CSRF令牌;2.在处理请求时验证令牌的有效性。

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。
