七牛雲上傳視頻如何有效做到節省空間
阿新 • • 發佈:2018-10-15
input app開發 for 上傳文件 arr margin 實例化 uniqid 類型 在上傳視頻的時候,我們通常會保存到第三方【七牛雲】平臺。不過大多數程序員在系統後臺上傳視頻後,一般都是保存到了本地,如果視頻非常多或者視頻容量特別大的情況下,那麽我們的服務器遲早有一天會滿,為了節省空間,下面教大家再上傳視頻時,如何以有效的節省服務器空間,一般情況下會把這些文件存到第三方,也就是需要我們下載qiniusdk,把qiniusdk放如Vendor目錄下。
這裏我們以課程視頻為例子,實現的hmtl源代碼如下:
<tr>
<td class="text"><span class="bi_tian"> </span>課程視頻:</td> <td class="input"> <input type="file" placeholder="上傳視頻" style="margin-left:10px;" name="file"> </td> </tr> <tr> <td class="text"></td> <td class="submit"> <input type="submit" value="下一步" class="layui-btn" onclick="return Smit($(this),‘myform‘)" /></td>
</tr>
- php代碼
public function doaddvideo(){
$model=M("class_video");
$id=I("id");
$data[‘class_id‘]=$id;
$data[‘title‘]=I("title");
$data[‘minute‘]=I("minute");
$data[‘jie‘]=I("jie");
if(!empty($_FILES[‘file‘][‘name‘])){ import(‘ORG.Net.UploadFile‘); $upload = new UploadFile();// 實例化上傳類 $upload->maxSize = 9999999;// 設置附件上傳大小 $upload->allowExts = array("vob","ifo","mpg","mpeg","dat","mp4","3gp","mov","rm","ram","rmvb","wmv","asf","avi","asx");// 設置附件上傳類型 如果是MP3的話改為mp3 就ok $upload->savePath = ‘./Public/Uploads/video/‘;// 設置附件上傳目錄(先把文件上傳到本地服務器上) //$upload->saveName = I(‘uid‘).‘_‘.time();// 設置附件上傳目錄 if(!$upload->upload()) {// 上傳錯誤提示錯誤信息 $this->error($upload->getErrorMsg()); }else{// 上傳成功 獲取上傳文件信息 $info = $upload->getUploadFileInfo(); } require_once‘./ThinkPHP/Extend/Vendor/qiniusdk/autoload.php‘; $accessKey = ‘‘; $secretKey = ‘‘; $bucket = ‘‘; //這個是你上傳的空間 $savepath = "";//這是你七牛的路徑 $auth = new Auth($accessKey, $secretKey); $mediaid = time().uniqid(); $savekey = \Qiniu\base64_urlSafeEncode(‘caifen:‘.$mediaid.‘.mp4‘); $fops = $fops.‘|saveas/‘.$savekey; $policy = array( ‘persistentOps‘ => $fops, ); $uptoken = $auth->uploadToken($bucket, null, 3600, $policy); $filePath = ‘./Public/Uploads/video/‘.$info[0][‘savename‘]; $key = $mediaid.‘.mp4‘; $uploadMgr = new UploadManager(); list($ret, $err) = $uploadMgr->putFile($uptoken, $key, $filePath); if ($err !== null) { $dataname["info"]="error"; } else { $savename=$ret[‘key‘]; $file = $savepath.$savename; $dataname["info"]=$file; } unlink($filePath);//上傳成功後刪除本地服務器上的文件 // echo $file;exit; $data[‘video‘]=$file; if($model->add($data)){ success("成功",U("Class/goodslist")); }else{ error("失敗"); }
}else{
error("請上傳視頻");exit;
}
}
好了,到這裏就分享完成了,那麽現在大家都可以去試一下了,如果還是存在不理解的地方,可以留言咨詢我們,或者有其他不同的解決方法,也可以留言分享,我們共同學習進步。
本文由專業的鄭州app開發公司燚軒科技整理發布,原創不易,如需轉載請註明出處。
七牛雲上傳視頻如何有效做到節省空間