$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']; } }