在上传视频的时候,我们通常会保存到第三方【七牛云】平台。不过大多数程序员在系统后台上传视频后,一般都是保存到了本地,如果视频非常多或者视频容量特别大的情况下,那么我们的服务器迟早有一天会满,为了节省空间,下面教大家再上传视频时,如何以有效的节省服务器空间,一般情况下会把这些文件存到第三方,也就是需要我们下载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开发公司燚轩科技整理发布,原创不易,如需转载请注明出处。
转载于:https://blog.51cto.com/13686158/2300194