在短视频app源码(小视频源码)开发中,考虑到后期用户上传短视频时需要大量应用到存储功能,故而需要实现这一功能,具体需要怎么做呢,本文将以云豹短视频app源码为例,为大家进行讲解。
一、阅读前请注意:
1、本文例子中的云豹短视频app源码,后台开发语言为PHP,框架为thinkPHP
2、因云存储sdk方便接入、性能优良,故选用云存储sdk
3、PHP腾讯云对象云存储,下载官方SDK, 结合官方文档进行简单的介绍
二、短视频app源码接入存储功能前的准备工作:
腾讯云官方文档及sdk地址:https://cloud.tencent.com/document/product/436/12266
三、短视频app源码接入存储功能的具体操作:
将下载下来的SDk文件放到可以加载到的地方,里面有很多的文件,我们只需要加载里面的autoload.php(根据官方文档方法,进行安装即可,共三种方式),这个文件就可以帮助我们实现SDk文件的引入。它是一个多类的结合文件,我们需要用到腾讯云SDk类里面的多个方法。
四、短视频app源码接入存储sdk的代码示例 (仅限于thinkPHP框架):
Public function adminUploadFiles($files=''){
$rs=array('code'=>1000,'data'=>[],'msg'=>'上传失败');
/* 腾讯云 */
require_once(SITE_PATH.'sdk/qcloud/autoload.php');
$folder = '/img'; //存储路径
$file_name = $_FILES["file"]["name"];
$src = $_FILES["file"]["tmp_name"];
if($files){
$file_name = $files["file"]["name"];
$src = $files["file"]["tmp_name"];
}
$fnarray=explode('.', $file_name);
$file_suffix = strtolower(end($fnarray)); //后缀名
$dst = $folder.'/'.date('YmdHis').rand(1,999).'.'.$file_suffix;
$cosClient = new \Qcloud\Cos\Client(array(
'region' => 'region', #地域,如ap-guangzhou,ap-beijing-1
'credentials' => array(
'secretId' => 'secretId', //腾讯云id
'secretKey' => 'secretKey', //腾讯云key
),
));
// 若初始化 Client 时未填写 appId,则 bucket 的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$bucket = '腾讯云存储名称'.'-'.'腾讯云id';
try {
$result = $cosClient->upload(
$bucket = $bucket,
$key = $dst,
$body = fopen($src, 'rb')
);
$url = $result['Location'];//上传成功后返回的链接
} catch (\Exception $e) {
$rs['msg']=$e->getMessage(); //错误提示
return $rs;
}
$rs['code']=0;
$rs['data']['url']=$url;
return $rs;
}
在短视频app源码中,用户头像、短视频文件等文件数据上传的量是很大的,数据库无法全部承担,故而只有文字数据(用户名等)会被存储在数据库中,像短视频、用户头像等内容会被存储在专门的区域,比如服务器磁盘或三方云存储上,接入上述代码后,将可以在短视频app源码中实现存储功能。
声明:本文由云豹科技原创整理,部分内容来自腾讯云官网,转载请注明云豹科技整理