欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP微信開(kāi)發(fā)之微信錄音臨時(shí)轉(zhuǎn)永久存儲(chǔ)

 更新時(shí)間:2018年01月26日 09:12:22   作者:傾聽(tīng)歲月  
這篇文章主要為大家詳細(xì)介紹了PHP微信開(kāi)發(fā)之微信錄音臨時(shí)轉(zhuǎn)永久存儲(chǔ),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近做開(kāi)發(fā)的時(shí)候碰到了這個(gè)問(wèn)題,甲方希望用戶(hù)在微信端的錄音能夠一直有效。就是隨時(shí)打開(kāi)好友的分享就能聽(tīng)到好友的錄音。可在微信官方開(kāi)發(fā)手冊(cè)上查到微信錄音文件上傳后只能在微信端保留3天時(shí)間,3天后就失效了。怎么辦呢?

1、通過(guò)調(diào)用微信媒體資源下載接口將微信錄音下載到本地

@params
String access_token 微信公眾號(hào)access_token
String serverId 通過(guò)錄音上傳接口獲取到的serverId
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token={$access_token}&media_id={$serverId}

2、從微信方下載到本地的錄音文件格式是amr,而微信網(wǎng)頁(yè)瀏覽器并不支持amr文件的音頻文件播放。所以我們需要將amr 轉(zhuǎn)換成
網(wǎng)頁(yè)能夠識(shí)別的mp3格式。

怎么轉(zhuǎn)換呢?我找到了一個(gè)平臺(tái)可以支持這種轉(zhuǎn)換,七牛云存儲(chǔ)平臺(tái).通過(guò)七牛云存儲(chǔ)我們可以將amr轉(zhuǎn)換成mp3

require("./extension/autoload.php");//官方開(kāi)發(fā)包 可在官方下載 php版本 載入其中的autoload.php extension 是隨意 起的名字

/**
 * @param
 * String $filepa 本地amr文件路徑
 * @return
 * String 解析后存儲(chǔ)在七牛存儲(chǔ)空間中的mp3遠(yuǎn)程地址
 */
function upchange($filepa){
  $accessKey="七牛accessKey 在七牛后臺(tái)獲取";
  $secretKey="七牛secretKey 在七牛后臺(tái)獲取";
  $httpUrl ="七牛分配的訪問(wèn)地址 在七牛后臺(tái)獲取";
  $bucket = "存儲(chǔ)空間對(duì)象bucket 在七牛后臺(tái)創(chuàng)建";
  //轉(zhuǎn)碼時(shí)使用的隊(duì)列名稱(chēng)
  $pipeline = '轉(zhuǎn)碼隊(duì)列名稱(chēng) 在七牛后臺(tái)創(chuàng)建';
  $auth = new \Qiniu\Auth($accessKey, $secretKey);
  $rand_name = getRandChar__(6).time().'.mp3';
  //要進(jìn)行轉(zhuǎn)碼的轉(zhuǎn)碼操作
  $fops = "avthumb/mp3/ab/64k/ar/22050";
  //$fops = "mp3";
  //可以對(duì)轉(zhuǎn)碼后的文件進(jìn)行使用saveas參數(shù)自定義命名,當(dāng)然也可以不指定文件會(huì)默認(rèn)命名并保存在當(dāng)間
  $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兩個(gè)數(shù)之間的一個(gè)隨機(jī)整數(shù)
  }
  return $str;
}

$amrToMp3 = upchange('本地amr文件路徑');
//mp3 在七牛上的訪問(wèn)地址
var_dump($amrToMp3);
/**
 * 如果你希望將這個(gè)mp3 存儲(chǔ)在本地而不是在七牛上,那么你需要在程序上等待幾秒,因?yàn)檫@時(shí)七牛在轉(zhuǎn)換改amr的格式
 */
 sleep(10);
$res = curlHttp($amrToMp3);    //curlHttp 就是 php  curl 機(jī)制 不懂的可以看下我下面文章機(jī)制
$open = fopen('demo.mp3','w');
fwrite($open,$res);
fclose($open);

php curlHttp

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • php實(shí)現(xiàn)QQ空間獲取當(dāng)前用戶(hù)的用戶(hù)名并生成圖片

    php實(shí)現(xiàn)QQ空間獲取當(dāng)前用戶(hù)的用戶(hù)名并生成圖片

    這篇文章主要介紹了php實(shí)現(xiàn)QQ空間獲取當(dāng)前用戶(hù)的用戶(hù)名并生成圖片的方法,涉及php針對(duì)QQ空間及接口調(diào)用的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • WordPress網(wǎng)站性能優(yōu)化指南

    WordPress網(wǎng)站性能優(yōu)化指南

    很多博主都會(huì)感覺(jué)WordPress很慢?作為全世界最常用的建站和博客系統(tǒng)WordPress來(lái)說(shuō),在性能設(shè)計(jì)上肯定不會(huì)有太大的問(wèn)題,WordPress開(kāi)發(fā)團(tuán)隊(duì)也肯定也考慮到這個(gè)問(wèn)題。那么 WordPress 效率問(wèn)題主要是出在哪里呢?今天就給大家講講自己多年總結(jié)的 WordPress優(yōu)化經(jīng)驗(yàn)和技巧
    2015-11-11
  • PHP中實(shí)現(xiàn)Bloom Filter算法

    PHP中實(shí)現(xiàn)Bloom Filter算法

    這篇文章主要介紹了PHP中實(shí)現(xiàn)Bloom Filter算法,本文直接給出實(shí)現(xiàn)代碼,代碼中給出詳細(xì)注釋,Bloom Filter算法介紹等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • PHP實(shí)現(xiàn)web socket長(zhǎng)鏈接流程詳解

    PHP實(shí)現(xiàn)web socket長(zhǎng)鏈接流程詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)web socket長(zhǎng)鏈接流程,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的
    2023-03-03
  • php實(shí)現(xiàn)Linux服務(wù)器木馬排查及加固功能

    php實(shí)現(xiàn)Linux服務(wù)器木馬排查及加固功能

    這篇文章主要介紹了php實(shí)現(xiàn)Linux服務(wù)器木馬排查及加固功能,本文給出了根據(jù)特征碼查找、搜索最近被修改的文件、修改php.ini、修改nginx.conf等方法,需要的朋友可以參考下
    2014-12-12
  • PHP中overload與override的區(qū)別

    PHP中overload與override的區(qū)別

    本文主要介紹了PHP中overload與override的區(qū)別。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • PHP 二維數(shù)組根據(jù)某個(gè)字段排序的具體實(shí)現(xiàn)

    PHP 二維數(shù)組根據(jù)某個(gè)字段排序的具體實(shí)現(xiàn)

    從兩個(gè)不同的表中獲取各自的4條數(shù)據(jù),然后整合(array_merge)成一個(gè)數(shù)組,再根據(jù)數(shù)據(jù)的創(chuàng)建時(shí)間降序排序取前4條
    2014-06-06
  • PHP日期函數(shù)date格式化UNIX時(shí)間的方法

    PHP日期函數(shù)date格式化UNIX時(shí)間的方法

    這篇文章主要介紹了PHP日期函數(shù)date格式化UNIX時(shí)間的方法,實(shí)例分析了php中date函數(shù)的使用技巧,需要的朋友可以參考下
    2015-03-03
  • php批量上傳的實(shí)現(xiàn)代碼

    php批量上傳的實(shí)現(xiàn)代碼

    本篇文章是對(duì)php批量上傳的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php關(guān)聯(lián)數(shù)組與索引數(shù)組及其顯示方法

    php關(guān)聯(lián)數(shù)組與索引數(shù)組及其顯示方法

    下面小編就為大家分享一篇php關(guān)聯(lián)數(shù)組與索引數(shù)組及其顯示方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論