$card_id 是個人本地的文件 將問價名字的後綴名去掉 注意access_token的有效期 public function ceshi1($card_id) { $mediaid = substr($card_id, 0, -4); $accessKey = config('ACCESSKEY'); //七牛公鑰 $secretKey = config('SECRETKEY'); //七牛私鑰 $auth = new Auth($accessKey, $secretKey); $filePath = './radio/' . $card_id; $bucket = 'radio'; //數據處理隊列名稱,不設置表明不使用私有隊列,使用公有隊列。 $pipeline = 'mingpianradio'; //經過添加'|saveas'參數,指定處理後的文件保存的bucket和key //不指定默認保存在當前空間,bucket爲目標空間,後一個參數爲轉碼以後文件名 $savekey = \Qiniu\base64_urlSafeEncode($bucket.':'.$mediaid.'.mp3'); //設置轉碼參數 $fops = "avthumb/mp3/ab/320k/ar/44100/acodec/libmp3lame"; $fops = $fops.'|saveas/'.$savekey; if(!empty($pipeline)){ //使用私有隊列 $policy = array( 'persistentOps' => $fops, 'persistentPipeline' => $pipeline ); }else{ //使用公有隊列 $policy = array( 'persistentOps' => $fops ); } //指定上傳轉碼命令 $uptoken = $auth->uploadToken($bucket, null, 3600, $policy); $key = $mediaid.'.amr'; //七牛雲中保存的amr文件名 $uploadMgr = new UploadManager(); //上傳文件並轉碼$filePath爲本地文件路徑 list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath); if ($err !== null) { return false; }else { //此時七牛雲中同一段音頻文件有amr和MP3兩個格式的兩個文件同時存在 $bucketMgr = new BucketManager($auth); //爲節省空間,刪除amr格式文件 $bucketMgr->delete($bucket, $key); return $ret['key']; } }