OSS 视频存储
我这里加了 封面图片 可以不理睬! 我没有存oss. 阿里的OSS 自己可以去官网下载 我这里放到 Vendor 下的. 1 # 注意这里OSS中 请设置 存储空间名称为公共的 才能直接使用这里返回的地址进行播放 不然 需要加密呗
use OSS\Core\OssException; # 必须
use OSS\OssClient; # 必须
class ClasstimeAction extends CommonAction
{
public function add_sub()
{
header('Content-type:text/html,charset:ust-8');
$file = $_FILES['file'];
$filTtype = $file['name'];//文件名
$fileName = substr($filTtype,strrpos($filTtype,'.'));
$filetype = array('.jpg', '.jpeg', '.gif', '.bmp', '.png');
$str = rand(1,99999);
$useName = date('Ymd').$str;
$picNewName = $useName.$fileName;
$upload_path = "../Public/Rbac/file/";
if (!in_array($fileName, $filetype))
{
$this->success("图片格式错误","__APP__/Public/index");
exit;
}
if(!is_uploaded_file($file['tmp_name'])){
$this->success("请使用正确途径上传图片","__APP__/Public/index");
exit;
}
if(!move_uploaded_file($file['tmp_name'],$upload_path.$picNewName)){
$this->success("图片存储失败 请重新上传","__APP__/Public/index");
exit;
} #视频
$video = $_FILES['video'];
$videoTtype = $video['name'];//文件名
$videoName = substr($videoTtype,strrpos($videoTtype,'.'));
$videotype = array('.mp4'); // 自定 我这随便写一个
$str = rand(1,99999);
$useName = date('Ymd').$str;
$videoNewName = $useName.$videoName;
$upload_path = "../Public/Rbac/video/";
if (in_array($videoName, $videotype)) {
if (is_uploaded_file($video['tmp_name'])) {
if (move_uploaded_file($video['tmp_name'],$upload_path.$videoNewName)) { vendor('OSS.autoload'); // 引入 oss上传类
$accessKeyId = "xxxxxxxxxx"; //去阿里云后台获取秘钥
$accessKeySecret = "xxxxxxxxxx"; //去阿里云后台获取秘钥
$endpoint = "xxxxxxxxxx"; //你的阿里云OSS地址 $object = date('Y-m-d').'/'.$videoTtype; //想要保存文件的名称
$file = $upload_path.$videoNewName; //文件路径,必须是本地的。
$bucket = "xxxxxxxxxx"; // 存储空间。
try{
$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$getOssInfo = $ossClient->uploadFile($bucket, $object, $file);
if($getOssInfo['info']['http_code'] == 200){
unlink($file); # 上传成功删除本地文件
$curl = $getOssInfo['info']['url'];
# 添加数据库
$time = $_POST['classsc'].':'.$_POST['classsc1'];
$data['addresspic'] = $picNewName;
$data['addressvideo'] = $curl;
$data['classtime'] = $_POST['classtime'];
$data['classjj'] = $_POST['classjj'];
$data['classsc'] = $time;
$data['cid'] = $_REQUEST['code'];
$data['type'] = $_REQUEST['testSee'];
$data['syrenqun'] = $_REQUEST['classshiyin'];
$data['status'] = 1;
$data['ctime'] = time();
$data['user'] = $_SESSION['name'];
D("classtime")->add($data);
$this->success("操作成功");
}else{
$this->error("上传OSS异常");
}
// 抛出异常
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
} }else{
$this->success("视频存储失败 请重新上传","__APP__/Public/index");
exit;
}
}else{
$this->success("请使用正确途径上传视频","__APP__/Public/index");
exit;
}
}else{
$this->success("请上传正确的视频格式 支持格式(mp4)","__APP__/Public/index");
exit;
}
}
}
OSS 视频存储的更多相关文章
- iOS使用阿里云OSS对象存储 (SDK 2.1.1)
最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...
- 架构师小跟班:教你从零开始申请和配置七牛云免费OSS对象存储(不能再详细了)
背景 之前为了练习Linux系统使用,在阿里云上低价买了一台服务器(网站首页有活动链接,传送门),心里想反正闲着也是闲着,就放了一个网站上去.现在随着数据越来越多,服务器空间越来越吃紧,我就考虑使用七 ...
- phpcmsv9 阿里云OSS云存储整合教程
该教程算不上是phpcmsv9阿里云oss插件,所以整个修改及其代码覆盖前请一定记得备份.还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因:1.个人的需求是前台页面需要使用t ...
- 腾讯云点播视频存储(Web端视频上传)
官方文档 前言 所谓视频上传,是指开发者或其用户将视频文件上传到点播的视频存储中,以便进行视频处理.分发等. 一.简介 腾讯云点播支持如下几种视频上传方式: 控制台上传:在点播控制台上进行操作,将本地 ...
- .Net程序测试阿里云OSS开放存储服务
阿里云官网有提供OSS相关的操作API文档和.Net程序的 SDK,也可以在这里下载OSS相关文件 但是API文档里面的都是通过http请求和响应的消息来描述如何操作OSS的 而一般在程序中需要的是O ...
- 阿里云OSS的 存储包、下行流量包、回流流量包 三者有啥关系
阿里云OSS的 存储包.下行流量包.回流流量包 三者有啥关系 一.总结 一句话总结: 你把文件放 oss,会占用存储空间,存储包覆盖这部分费用 你访问存储在 oss 里面的文件,会产生下行流量,就是从 ...
- Java使用阿里云OSS对象存储上传图片
原 Java使用阿里云OSS对象存储上传图片 2017年03月27日 10:47:28 陌上桑花开花 阅读数 26804更多 分类专栏: 工作案例总结 版权声明:本文为博主原创文章,遵循CC 4.0 ...
- 22.Java面试学习平台-整合OSS对象存储
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...
- 在搞OSS对象存储中发现了自身的一些不足
最近在搞OSS对象存储,发现了自身的一些不足,趁着有空在此做个总结,希望能够帮助到大家!!! 首先解释下OSS,Object Storage Service(对象存储服务),一般的云公司,都会提供OS ...
随机推荐
- Sigar--系统性能监测
Sigar(System Information Gatherer And Reporter),是一个开源的工具,提供了跨平台的系统信息收集的API.可以收集的信息包括: 1, CPU信息,包括基本信 ...
- iOS耳机监听
1 .插入耳机的时候并没有切换到耳机播放 仍然是扬声器播放 2 .当一开始手机上已经插入耳机时 ,这时候开启音频播放时 仍然是扬声器播放 因此今天主要谈的就是从这两个问题: 先来解决第一个问题:其实解 ...
- elasticsearch的索引操作和文档操作总结
参考文档:https://es.xiaoleilu.com/010_Intro/00_README.html 一.索引操作 1.查看当前节点的所有的index 查看当前节点的所有的index [roo ...
- 微信公众号开发(5)---使用开源组件开发公众号OAuth2.0网页授权授权登录
搞清微信公众号授权登录的步骤步骤,我们的开发就完成了一大步 献上github 地址: https://github.com/Wechat-Group/weixin-java-tools/wiki/MP ...
- 支付宝H5 与网页端支付开发
在日常生活中,我们基本上都是进行微信与支付宝的支付方式尽心支付,这种方式确实大大便利了我们的生活,那么如何在我们的产品中进行微信与支付宝支付的植入开发呢? 我们先进行支付宝的H5与网页端支付开发,这里 ...
- HttpClient上传文件
1.上传客户端代码: public static void upload() { CloseableHttpClient httpclient = HttpClients.createDefault( ...
- Hibernate: save, persist, update, merge, saveOrUpdate[z]
[z]https://www.baeldung.com/hibernate-save-persist-update-merge-saveorupdate 1. Introduction In this ...
- 如何调用别人提供的API?
1:一般使用聚合数据提供的API: 百度聚合数据,进入: 2:一般是有用户名的直接登录,没有用户名的先进行注册.在搜索框中输入你想查找的API方面的关键字:例如:有关健康的 点开任意一个,你将会看到: ...
- oracle 直接复制表内容到新表
不知道为什么,刚建的oracle数据库删除数据很慢,表里面有120多万数据,非常地慢 于是采用的复制的方法,命令如下: create table students_backup as select * ...
- hdu 5692(dfs+线段树) Snacks
题目http://acm.hdu.edu.cn/showproblem.php?pid=5692 题目说每个点至多经过一次,那么就是只能一条路线走到底的意思,看到这题的格式, 多个询问多个更新, 自然 ...