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

  在上傳視頻的時候,我們通常會保存到第三方【七牛雲】平臺。不過大多數程序員在系統後臺上傳視頻後,一般都是保存到了本地,如果視頻非常多或者視頻容量特別大的情況下,那麼我們的服務器遲早有一天會滿,爲了節省空間,下面教大家再上傳視頻時,如何以有效的節省服務器空間,一般情況下會把這些文件存到第三方,也就是需要我們下載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開發公司燚軒科技整理髮布,原創不易,如需轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章