我这里加了 封面图片 可以不理睬! 我没有存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 视频存储的更多相关文章

  1. iOS使用阿里云OSS对象存储 (SDK 2.1.1)

    最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...

  2. 架构师小跟班:教你从零开始申请和配置七牛云免费OSS对象存储(不能再详细了)

    背景 之前为了练习Linux系统使用,在阿里云上低价买了一台服务器(网站首页有活动链接,传送门),心里想反正闲着也是闲着,就放了一个网站上去.现在随着数据越来越多,服务器空间越来越吃紧,我就考虑使用七 ...

  3. phpcmsv9 阿里云OSS云存储整合教程

    该教程算不上是phpcmsv9阿里云oss插件,所以整个修改及其代码覆盖前请一定记得备份.还有一点就是后台发布文章时上传的附件还是会保存在你的服务器上,基于以下原因:1.个人的需求是前台页面需要使用t ...

  4. 腾讯云点播视频存储(Web端视频上传)

    官方文档 前言 所谓视频上传,是指开发者或其用户将视频文件上传到点播的视频存储中,以便进行视频处理.分发等. 一.简介 腾讯云点播支持如下几种视频上传方式: 控制台上传:在点播控制台上进行操作,将本地 ...

  5. .Net程序测试阿里云OSS开放存储服务

    阿里云官网有提供OSS相关的操作API文档和.Net程序的 SDK,也可以在这里下载OSS相关文件 但是API文档里面的都是通过http请求和响应的消息来描述如何操作OSS的 而一般在程序中需要的是O ...

  6. 阿里云OSS的 存储包、下行流量包、回流流量包 三者有啥关系

    阿里云OSS的 存储包.下行流量包.回流流量包 三者有啥关系 一.总结 一句话总结: 你把文件放 oss,会占用存储空间,存储包覆盖这部分费用 你访问存储在 oss 里面的文件,会产生下行流量,就是从 ...

  7. Java使用阿里云OSS对象存储上传图片

    原 Java使用阿里云OSS对象存储上传图片 2017年03月27日 10:47:28 陌上桑花开花 阅读数 26804更多 分类专栏: 工作案例总结 版权声明:本文为博主原创文章,遵循CC 4.0 ...

  8. 22.Java面试学习平台-整合OSS对象存储

    SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...

  9. 在搞OSS对象存储中发现了自身的一些不足

    最近在搞OSS对象存储,发现了自身的一些不足,趁着有空在此做个总结,希望能够帮助到大家!!! 首先解释下OSS,Object Storage Service(对象存储服务),一般的云公司,都会提供OS ...

随机推荐

  1. UmBasketella

    UmBasketella http://poj.org/problem?id=3737 Time Limit: 1000MS   Memory Limit: 65536K Total Submissi ...

  2. vue 给v-html中的元素设置样式

    解决方案:写样式的时候添加>>>

  3. 【php 之获得当前日期以及比较日期大小】

    首先看一个例子: $currentTime = date('Y-m-d H:i'); // 获得当前时间 $timer = $searchDated . ' ' . $results['ctrip'] ...

  4. 阿里读写分离数据源SELECT LAST_INSERT_ID()获取不到id

    异常现象 insert 通过 mybatis 以下语法给领域类 赋予的 id 值为0. 后续根据主键的update操作失效.且无异常抛出 <selectKey keyProperty=" ...

  5. swift - VC添加手势返回

    1.需要添加手势的界面 (1)addBackGesture() (2) 设置手势返回代理 // MARK: - 添加返回手势 extension JYRTSShopDetialConteoller:U ...

  6. go语言使用go-sciter创建桌面应用(二) ui元素查找,增加,删除,修改

    我们可以通过go-sciter给我们提供的方法,方便的对html,css编写的UI界面进行增删改查. demo3.go代码如下: package main; import ( "github ...

  7. Django——模板语言相关内容

    Django模板语言相关内容   Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{  }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...

  8. Navicat连接MySQL,出现2059 - authentication plugin 'caching_sha2_password'的解决方案

    昨天当我把MySQL的安装程序下载并安装好,然后又下载了另外一个工具来使用它,该工具的名称是Navicat Premium,当我通过该工具连接MySQL Workbench的时候,无法连接,提示“20 ...

  9. (转)system.badimageformatexception 未能加载文件或程序集

    “/xxxxx”应用程序中的服务器错误. ------------------------------------------------------------------------------- ...

  10. RAC初步使用

    信号基本流程: //1:创建信号 RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSub ...