- 首先說(shuō)明一下耘成,上傳音頻和上傳圖片一樣谓传,就是最普通的寫入文件就行了。別想復(fù)雜了聘殖。
//controller層調(diào)用
$audioInfo = $model->uploadAudio();
/**
* model層讀寫數(shù)據(jù)
* 音頻上傳方法
* @param $_FILES 上傳的參數(shù)
*/
public function uploadAudio()
{
$audioInfo = array(
'flag' => false,
'code' => 1,
'msg' => '沒(méi)有接收到數(shù)據(jù)流',
'data' => array(),
);
//二進(jìn)制數(shù)據(jù)流 下面這個(gè)會(huì)顯示全部的參數(shù)
$data = file_get_contents('php://input') ? file_get_contents('php://input') : gzuncompress($GLOBALS ['HTTP_RAW_POST_DATA']);
$data = base64_decode($data);
//遞歸創(chuàng)建目錄晨雳,移動(dòng)音頻到指定位置
$time = time();
$month = date('Ym', $time);
$today = date('j', $time);
//獲取.最后一個(gè)的位置
$ext = "mp3";
$audioName = "fromapp";
$fileName = time() . $audioName . rand(1, 100000);
$fileName = md5($fileName);
$dirPath = self::Audio_PATH . $month . '/' . $today;
$filePath = $dirPath . '/' . $fileName . '.' . $ext;
Libs_Download::recurDirs($dirPath, FALSE);
if (!empty($data)) {
//創(chuàng)建并寫入數(shù)據(jù)流,然后保存文件
if (@$fp = fopen($filePath, 'w+')) {
fwrite($fp, $data);
fclose($fp);
$size = filesize($filePath);
$audioInfo['data'] = array(
'size' => $size,
'filename' => $fileName,
'ext' => 'mp3',
'dateline' => date('Y-m-d H:i:s', $time),
);
$audioInfo['flag'] = true;
$audioInfo['code'] = 0;
$audioInfo['msg'] = '數(shù)據(jù)流生成音頻成功';
return $audioInfo;
}
$audioInfo['code'] = 2;
$audioInfo['msg'] = '數(shù)據(jù)流寫入文件失敗';
return $audioInfo;
} else {
//沒(méi)有接收到數(shù)據(jù)流
return $audioInfo;
}
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者