• 下载阿里云oss的SDK

composer require aliyuncs/oss-sdk-php

  • 上传视频,我用的是分片上传,其实阿里云的文档已经写得很清楚了,不过这是当我把上传的功能写出来后才这样觉得的,在没有写出来的时候我当时觉得他的文档写的一点都不清楚,所以我才决定写篇文章记录下
  • 下面的代码是复制阿里文档的,本文主要是解释说明下其中的几个参数 :
    • $accessKeyId,$accessKeySecret这两个值都是可以在阿里云的账号中获取到的
    • $endpoint是oss仓库中的 Endpoint地域节点中的外网访问的那个,也可以是传输加速域名的那个
    • $bucket 是oss的仓库名称
    • $object是指在上传到阿里云oss后文件的路径(其中包含了路径+文件名称)
    • $filePath是指在前端上传文件到后端后,有一个临时存放的位置,一般的键名是tmp_name
use OSS\Core\OssException;
use OSS\Core\OssUtil;
use OSS\OssClient;protected function uploadVideoToOss($accessKeyId, $accessKeySecret, $endpoint, $bucket, $object, $filePath)
{try {$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);//返回uploadId。uploadId是分片上传事件的唯一标识,您可以根据uploadId发起相关的操作,如取消分片上传、查询分片上传等。$uploadId = $ossClient->initiateMultipartUpload($bucket, $object);} catch (OssException $e) {return error_code(0, $e->getMessage());}$partSize = 10 * 1024 * 1024;$uploadFileSize = filesize($filePath);$pieces = $ossClient->generateMultiuploadParts($uploadFileSize, $partSize);$responseUploadPart = array();$uploadPosition = 0;$isCheckMd5 = true;foreach ($pieces as $i => $piece) {$fromPos = $uploadPosition + (integer)$piece[$ossClient::OSS_SEEK_TO];$toPos = (integer)$piece[$ossClient::OSS_LENGTH] + $fromPos - 1;$upOptions = array(// 上传文件。$ossClient::OSS_FILE_UPLOAD => $filePath,// 设置分片号。$ossClient::OSS_PART_NUM => ($i + 1),// 指定分片上传起始位置。$ossClient::OSS_SEEK_TO => $fromPos,// 指定文件长度。$ossClient::OSS_LENGTH => $toPos - $fromPos + 1,// 是否开启MD5校验,true为开启。$ossClient::OSS_CHECK_MD5 => $isCheckMd5,);// 开启MD5校验。if ($isCheckMd5) {$contentMd5 = OssUtil::getMd5SumForFile($filePath, $fromPos, $toPos);$upOptions[$ossClient::OSS_CONTENT_MD5] = $contentMd5;}try {// 上传分片。$responseUploadPart[] = $ossClient->uploadPart($bucket, $object, $uploadId, $upOptions);} catch (OssException $e) {return error_code(0, $e->getMessage());}}$uploadParts = array();foreach ($responseUploadPart as $i => $eTag) {$uploadParts[] = array('PartNumber' => ($i + 1),'ETag' => $eTag,);}try {$result = $ossClient->completeMultipartUpload($bucket, $object, $uploadId, $uploadParts);return $result;} catch (OssException $e) {return error_code(0, $e->getMessage());}
}

  • 有一些需要注意的地方:

    • 在上传比较大的文件的时候,此时可能需要修改php.ini文件中的一些值,我试过了在代码中使用ini_set()来设置,但是好像不起作用
    • 有些值网上说是使用ini_set()修改不起作用,可以在.htaccess文件中修改,但是我试过了直接报错,也不知道是我的原因还是什么
    • 因此我就直接修改了php.ini文件中的值,比如有 :
    • upload_max_filesize,post_max_size,max_execution_time,max_input_time,memory_limit

PHP上传视频到阿里云oss相关推荐

  1. vue 直接上传视频到阿里云oss

    1.安装oss npm install ali-oss --save 2.在src下的util文件创建utils.js工具类 /*** 时间日期格式化* @param format* @returns ...

  2. 上传视频到阿里云服务器

    ######上传视频到阿里云服务器工具类 1.maven坐标 <dependency><groupId>com.aliyun</groupId><artifa ...

  3. 微信小程序直接上传文件到阿里云OSS组件封装

    微信小程序直接上传文件到OSS 1. 封装公共方法 在根目录utils目录新建一个upload文件夹: // utils/upload/base64.jsvar base64EncodeChars = ...

  4. java上传文件至阿里云oss工具类

    第一步:引入oss maven坐标 <dependency><groupId>com.aliyun.oss</groupId><artifactId>a ...

  5. 批量上传视频到阿里云

    批量上传视频到阿里云 这段时间项目里有一个上传视频到阿里云的功能是我来负责写的,之前一直没有写过这种功能,感觉很难的亚子,但是后来仔细研究了一遍发现也没想象中那么难,最后经过不懈的努力也算是搞出来了哈 ...

  6. Springboot上传视频到阿里云(视频点播)和aliyun-java-sdk-vod依赖报红问题

    一.pom.xm中导入依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-ja ...

  7. 前端上传视频至阿里云

    1.开通阿里云服务,获取userId 官方文档地址:https://help.aliyun.com/document_detail/52204.html?spm=a2c4g.11186623.6.91 ...

  8. 小程序上传文件到阿里云oss

    本文仅举例上传图片和上传视频! 准备工作: 需要引入的js文件:https://download.csdn.net/download/impossible1994727/12328614 参考文档:h ...

  9. 【微信小程序】上传文件到阿里云OSS

    小程序上传文件到OSS也是利用OSS提供的PostObject接口来实现表单文件上传到OSS 步骤1:配置Bucket跨域访问 客户端进行表单直传到OSS时,会从浏览器向OSS发送带有Origin的请 ...

  10. vue + elementUI upload组件,前端上传视频到阿里云视频点播

    1.视频上传阿里云,首先引用阿里云的sdk,放在所需界面中引用 import '@/utils/aliyun-oss-sdk-6.13.0.min.js';import '@/utils/aliyun ...

最新文章

  1. ai中如何插入签名_联络中心如何在机器人和对话式AI迷宫中导航
  2. 获取dbgrid的行索引
  3. 1-4:CSS3课程入门之文本新增属性
  4. 新年巨献!祝所有朋友新一年闪闪发光
  5. 符乐安:2020年短视频创作将迎来新的高峰
  6. 【EPS精品教程】史上最牛EPS说明文档大全(23个PDF文档)
  7. Mr.J--重拾Ajax(二)-- 本地服务器配置测试
  8. Tomcat 通用组件
  9. k8s解决coredns 的ImagePullBackOff 和ErrImagePull 问题
  10. 统计文件字符个数 java_如何统计个文件中的字符个数
  11. 米勒-拉宾素性检验(MillerRabbin)算法详解
  12. php插入mp3,PHP网站插入音乐
  13. 什么是“元认知”?用具体的例子易懂地解说教育、商务中大受关注的能力!
  14. 手机版q群管机器人_手机QQ机器人怎么用,QQ机器人手机版怎么设置
  15. 重载和重写(覆盖)的区别
  16. 消除keil编译警告 #1296-D:extended constant initialiser used
  17. CVE-2017-12635+12636 复现+反弹shell
  18. CCIE-MPLS路由传递
  19. 微信小程序 向下跳动箭头
  20. 佳能相机魔灯固件中文版及导出工具下载地址

热门文章

  1. Mplayer播放器程序设计Linux,Linux下编程实现mplayer播放器总结
  2. 计量模型 | 前定变量#时间FE
  3. 输入任意一个字符串,判断这个字符串是否是回文,回文示例: 上海自来水来自海上
  4. 使用hardhat 开发以太坊智能合约-发布合约
  5. 如何让cloudflare缓存html,cloudflare无限流量缓存的使用方法
  6. 这个计算机到底是咋入门的(1.0)胡学友修改版
  7. quarters自动编译生成sof
  8. leetcode之随心刷
  9. 第四百三十五章 灭龙魔宫
  10. MV* 模式梳理与理解(还原真实的 MV* 模式)