public function upload() { $ids=I('post.ids'); $upload = new \Think\Upload();// 实例化上传类 $upload->maxSize = 31457280 ;// 设置附件上传大小 $upload->exts = array('silk');// 设置附件上传类型 $upload->rootPath = './files/'; // 设置附件上传根目录 $upload->savePath = ''; // 设置附件上传(子)目录 $upload->saveName = time().mt_rand(100000,999999); //文件名称创建时间戳+随机数 $upload->autoSub = false; //自动使用子目录保存上传文件 默认为true $info = $upload->upload(); if ($info) { $arr=explode('.',$info['file']['savename']); $this->SilkToWav($arr[0]); @unlink("./files/".$info['file']['savename']); $res=M('ucard')->where(['id'=>$ids])->find(); if($res['url']){ $dd='./files/'.$res['url']; if (file_exists($dd)) { @unlink($dd); } } $resg = M('ucard')->where(['id' => $ids])->save(['url' =>$arr[0].'.wav']); if ($resg) { echo 1; } else { echo 2; } } else { echo 2; } } public function SilkToWav($silkfile) {///www/web/default/public_html/minimbheka/App/Api // define('IA_ROOT', str_replace("\\", '/', dirname(dirname(__FILE__)))); $MPATH = "/www/web/default/public_html/minimbheka/"; if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $cmd = $MPATH . "silk/win/silk_v3_decoder.exe " . $MPATH . "files/{$silkfile}.silk " . $MPATH . "files/{$silkfile}.pcm"; exec($cmd); $cmd = $MPATH . "silk/win/ffmpeg.exe -y -f s16le -ar 24000 -ac 1 -i " . $MPATH . "files/{$silkfile}.pcm -f wav -ar 16000 -b:a 16 -ac 1 " . $MPATH . "files/{$silkfile}.wav"; exec($cmd, $out); @unlink($MPATH."files/{$silkfile}.pcm"); } else { $cmd = $MPATH."converter.sh files/{$silkfile}.silk wav"; exec($cmd, $out); } if (!file_exists($MPATH."files/{$silkfile}.wav")) file_put_contents($MPATH."files/{$silkfile}.wav", $cmd . "\n" . json_encode($out)); }
宠物免费领养小程序,欢迎来踩