七牛云上传视频如何有效做到节省空间

  在上传视频的时候,我们通常会保存到第三方【七牛云】平台。不过大多数程序员在系统后台上传视频后,一般都是保存到了本地,如果视频非常多或者视频容量特别大的情况下,那么我们的服务器迟早有一天会满,为了节省空间,下面教大家再上传视频时,如何以有效的节省服务器空间,一般情况下会把这些文件存到第三方,也就是需要我们下载qiniusdk,把qiniusdk放如Vendor目录下。

  这里我们以课程视频为例子,实现的hmtl源代码如下:

         课程视频:

        

               

        

    

 

    

        

        

        

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开发公司燚轩科技整理发布,原创不易,如需转载请注明出处。

你可能感兴趣的:(原创技术分享)