《PHP開發(fā)之上傳音頻》要點(diǎn):
本文介紹了PHP開發(fā)之上傳音頻,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
今天給大家分享一個(gè)比較簡單易懂的技術(shù),就是音頻上傳,原理和文件上傳一樣,不要想的太復(fù)雜,希望對(duì)你有所贊助;
在給大家分享之前,這里推薦下我自己建的PHP開發(fā)-VIP資料出售平臺(tái) :638965404,不管你是小白還是大牛,我都挺歡迎,不定期分享干貨,包含2017最新的PHP企業(yè)案例學(xué)習(xí)資料和零基礎(chǔ)入門教程,以及面試寶典,歡迎初學(xué)和進(jìn)階中的小伙伴,大家一起交流學(xué)習(xí),共同進(jìn)步.
再次說明一下,上傳音頻和上傳圖片的原理是一樣的,便是最普通的寫入文件就行了,別想得太復(fù)雜,不多說了,直接上代碼:
<?php
//controller層調(diào)用
$audioInfo = $model->uploadAudio();
/** * model層讀寫數(shù)據(jù) *音頻上傳辦法 * @param $_FILES 上傳的參數(shù) */
public function uploadAudio()
{ $audioInfo = array
(
'flag' => false,
'code' => 1,
'msg' => '沒有接收到數(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
{
//沒有接收到數(shù)據(jù)流
return $audioInfo;
}
}
?>
分享到這里就結(jié)束了,代碼已經(jīng)給大家寫好,注釋好,有不懂的可以評(píng)論留言,喜歡我的可以關(guān)注我哦,也可以參加交流平臺(tái)一起交流學(xué)習(xí);
歡迎參與《PHP開發(fā)之上傳音頻》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10642.html