PHP上传SDK

更新时间: 2024/08/07 10:27:46

简介

PHP-SDK是用于服务器端点播上传的软件开发工具包,提供简单、便捷的方法,方便用户开发上传视频或图片文件的功能。

功能特性

  • 文件上传
  • 断点续传

开发准备

SDK下载地址

php sdk 的下载地址

环境配置

  1. PHP5.3以上支持Sqlite3
  2. 安装composer使用PHP的类自动加载机制

类引入

phpuse VideoCloud\Storage\UploadManager;

使用说明

安装composer

  1. windows手动下载安装 ,网址:https://getcomposer.org/doc/00-intro.md

  2. 使用命令行安装详细见composer官网

    ps:如果打开cmd,输入:composer -version出现版本号则说明安装成功

  3. 启动composer需要在项目的根目录下包含一个composer.json的文件

composer.json

{
   "name": "vcloud/php-sdk",
   "type": "library",
   "description": "VideoCloud Resource (Cloud) Storage SDK for PHP",
   "keywords": ["vcloud", "storage", "sdk", "cloud"],
   "homepage": "http://vcloud.163.com/",
   "license": "MIT",
   "authors": [
       {
           "name": "VideoCloud",
           // "email": "sdk@qiniu.com",
           "homepage": "http://vcloud.163.com/"
       }
   ],
   "require": {
       "php": ">=5.3.3"
   },
   "require-dev": {
       "phpunit/phpunit": "~4.0",
       "squizlabs/php_codesniffer": "~2.3"
   },
   "autoload": {
       "psr-4": {"VideoCloud\\": "phpSDK/src/VideoCloud"},
       "files": ["phpSDK/src/VideoCloud/functions.php"]
   }
}
  1. 在 composer.json 的 autoload 字段中增加自己的 autoloader

配置项说明:

  • VideoCloud\\是命名空间的名称,后面的是根目录
  • files是需要自动加载的php文件
  1. 也可以直接复制demo中的composer.json文件,但上面两个目录需要修改成项目相应目录

  2. 启动类自动加载机制在文件的根目录下还有一个autoload.php文件

php<?php
function classLoader($class)
{
   $path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
   $file = __DIR__ . '/src/' . $path . '.php';

   if (file_exists($file)) {
       require_once $file;
   }
}
spl_autoload_register('classLoader');

require_once  __DIR__ . '/src/VideoCloud/functions.php';

初始化

接入网易云信视频点播,需要拥有一对有效的 appKey 和 appSecret进行签名认证,可通过如下步骤获得:

  • 开通网易云信视频点播服务;
  • 登陆网易云信视频开发者平台,通过管理控制台->账户信息获取 appKey 和 appSecret。

在获取到 AppKey 和 AppSecret 之后,可按照如下方式进行初始化:

js$uploadMgr = new UploadManager();

$opt=array();
$opt["accessKey"]="your AppKey";
$opt["secretKey"]="your AppSecret";
$opt["trunkSize"]= 2 * 1024 * 1024;

$filePath2 = './birds.mp4';

list($ret, $err) = $uploadMgr->init($opt, $filePath2);
if ($err !== null) {
    die($err);
}

配置项说明:

  • $opt["accessKey"]:AppKey
  • $opt["secretKey"]:AppSecret
  • $opt["trunkSize"]:分片大小,最大4MB

文件上传

调用upload接口,传入init()返回值和文件路径即可完成文件上传,路径支持相对路径(相对于index.js文件)或绝对路径(推荐)。 示例:

phplist($ret, $err) = $uploadMgr->upload($opt,$ret['ret'],$filePath);

配置项说明:

  • $ret['ret']为init()返回信息
  • $filePath文件相对index.js路径

断点续传

upload接口同时支持断点续传,只需传入$opt,init()返回值和文件路径调用upload接口即可,SDK会自动查询断点并进行续传。 示例:

phplist($ret, $err) = $uploadMgr->upload($opt,$ret['ret'],$filePath);

配置项说明:

  • $ret['ret']为init返回信息
  • $filePath文件相对index.js路径

一个上传的例子

php<?php
require_once __DIR__ . '/autoload.php';

use VideoCloud\Storage\UploadManager;

$uploadMgr = new UploadManager();

$opt=array();
$opt["accessKey"]="your AppKey";
$opt["secretKey"]="your AppSecret";
$opt["trunkSize"]= 2 * 1024 * 1024;

$filePath = './php-logo.png';

list($ret, $err) = $uploadMgr->init($opt, $filePath);
if ($err !== null) {
    die($err);
}

list($ret, $err) = $uploadMgr->upload($opt,$ret['ret'],$filePath);
if ($err !== null) {
    var_dump($err);
} else {
    var_dump($ret);
}

版本更新记录

v1.0.1

  1. Node-SDK初始版本,提供点播上传的基本功能,包括:文件上传、断点续传。
此文档是否对你有帮助?
有帮助
去反馈
  • 简介
  • 功能特性
  • 开发准备
  • SDK下载地址
  • 环境配置
  • 类引入
  • 使用说明
  • 安装composer
  • composer.json
  • 初始化
  • 文件上传
  • 断点续传
  • 一个上传的例子
  • 版本更新记录