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

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

转载于:https://blog.51cto.com/13686158/2300194

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运算符的优先级总能起作用吗?

有关运算符优先级的规则稍微有点复杂。在大多数情况下&#xff0c;这些规则确实是你所需要的&#xff0c;然而&#xff0c;有人也指出其中的一些规则本来是可以设计得更好的。让我们快速地回顾一些有关内容&#xff1a;“运算符优先级”是这样一些规则的集合——这些规则规定了…

按钮交互loading ---- 转圈圈 加载

按钮loading状态自定义选项&#xff08;功能&#xff09;&#xff1a; 可以在元素上添加 data-am-loading 来设置选项&#xff1a; spinner 加载动画图标&#xff0c;适用于支持 CSS3 动画、非 input 元素&#xff0c;写图标名称即可&#xff1b;loadingText 加载时显示的文字&…

面试题-线程

1.什么是线程 &#xff1f;线程和进程的区别 &#xff1f; 线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。而进程是系统中 正在运行的一个程序&#xff0c;程序一旦运行就是进程。 区别&#xff1a;&#xf…

区块链入门教程

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 区块链&#xff08;blockchain&#xff09;是眼下的大热门&#xff0c;新闻媒体大量报道&#xff0c;宣称它将创造未来。 可是&#xf…

响应式面包屑菜单

在线演示 本地下载 转载于:https://www.cnblogs.com/qixidi/p/10064991.html

5个能提高你工作效率的Excel技巧

Excel的应用在工作中还是十分广泛的&#xff0c;那么下面小编就来为大家分享5个Excel技巧来帮助大家轻松提高工作效率。1. 不用数据验证或数据有效性&#xff0c;自动生成下拉列表方法&#xff1a;按【Alt↓】组合键注意点&#xff1a;光标要定位在已有数据区域的下一个单元格&…

很好的推荐书籍

五百本编程书籍推荐【信息化类】 书号书名作者出版时间定价对应页码TP02041企业资源计划&#xff08;ERP&#xff09;教程罗鸿2006-1&#xffe5;28.00—TP02031ERP理论、方法与实践周玉清 等2005-12&#xffe5;39.00—TP01059ERP原理设计实施&#xff08;第3版&#xff09;罗…

消息推送

我有一个运动类app软件,它的服务器是集群式的&#xff0c;有N台服务器。现在我想在app上开发一个功能&#xff0c;在每天的晚上11点进行消息推送&#xff0c;他会推送今天走多少步&#xff0c;是否健康&#xff0c;明天至少走多少步。请问如何11点能准时触达到用户&#xff1f;…

day10:函数进阶

1&#xff0c;函数的命令空间&#xff08;内置命名空间&#xff0c;全局命名空间&#xff0c;局部命名空间&#xff09;&#xff0c;内置大于全局大于局部 2&#xff0c;内置命名空间&#xff0c;就是Python解释器一启动就可以使用的名字&#xff0c;存储在内置命名空间中&…

mysql导入source注意点

mysql的导入导出要注意字符集&#xff0c;防止查询乱码&#xff01; 导入前设置字符集 set names utf8; //导入指定编码source /xxx.sqlcommit;

哔哩哔哩修改视频速度

按住f12,打开控制台&#xff0c;先输入 const video document.querySelector("video"); video.play() // 开始 video.pause() // 暂停 video.playbackRate3 // 三倍速

编译预处理

C语言编译中&#xff0c;什么时候应该使用32位编译程序? 32位编译程序应该在32位操作系统上使用。由32位编译程序生成的32位程序比16位程序运行得更快&#xff0c;这正是任何32位的东西都很热门的原因。有那么多不同版本的Microsoft Windows&#xff0c;它们和哪种编译程序组成…

去除List集合中的重复值(四种好用的方法)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 最近项目中需要对list集合中的重复值进行处理&#xff0c;大部分是采用两种方法&#xff0c;一种是用遍历list集合判断后赋给另一个list…

jQuery---过滤选择器

4、过滤选择器 过滤选择器主要是通过特定的过滤规则来筛选出所需的DOM元素&#xff0c;过滤规则与CSS 中的伪类选择器语法相同&#xff0c;即选择器都以一个冒号(:)开头。按照不同的过滤规则&#xff0c; 过滤选择器可以分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过…

安装Frida抓包工具

curl https://bootstrap.pypa.io/get-pip.py | python3 pip install frida pip install frida-tools

正则介绍_grep

2019独角兽企业重金招聘Python工程师标准>>> 10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 grep基本用法 grep [-cinvABC] word filename centos7.x版本的grep实则为grep --colorauto-c 显示匹配到的行数[rootlocalhost ~]# cp /etc/passwd /tmp [rootl…

[国家集训队]middle

嘟嘟嘟 有谁能想到这题会用到主席树呢&#xff1f;&#xff08;不愧是WJMZBMR出的题&#xff09; 首先考虑如果区间是固定的话&#xff0c;中位数该怎么求。 没错&#xff0c;二分。如果大于当前二分值\(mid\)的数比小于\(mid\)的数多&#xff0c;说明\(mid\)还可以再变大&…

Java List<Object>去掉重复对象-java8

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 public List<String> removeStringListDupli(List<String> stringList) {Set<String> set new LinkedHashSet<&g…

Vue + webpack 项目配置化、接口请求统一管理

准备工作 需求由来&#xff1a; 当项目越来越大的时候提高项目运行编译速度、压缩代码体积、项目维护、bug修复......等等成为不得不考虑而且不得不做的问题。 又或者后面其他同事接手你的模块&#xff0c;或者改你的bug时避免人家看的眼痛以及心里千百句mamaipi...问候。 并且…

Python实现Adaboost

1.Adaboost概念 提升方法的思路是综合多个分类器&#xff0c;得到更准确的分类结果。 即“三个臭皮匠顶个诸葛亮”。《统计学习方法》称AdaBoost是提升算法的代表&#xff0c;所谓提升算法&#xff0c;指的是一种常用的统计学习方法&#xff0c;应用广泛且有效。在分类问题中&a…