1. 程式人生 > >七牛雲上傳視訊如何有效做到節省空間

七牛雲上傳視訊如何有效做到節省空間

  在上傳視訊的時候,我們通常會儲存到第三方【七牛雲】平臺。不過大多數程式設計師在系統後臺上傳視訊後,一般都是儲存到了本地,如果視訊非常多或者視訊容量特別大的情況下,那麼我們的伺服器遲早有一天會滿,為了節省空間,下面教大家再上傳視訊時,如何以有效的節省伺服器空間,一般情況下會把這些檔案存到第三方,也就是需要我們下載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>

  1. 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開發公司燚軒科技整理髮布,原創不易,如需轉載請註明出處。