PHP短视频源码,阿里云云存储OSS功能介绍

发布来源:云豹科技
发布人:云豹科技
2020-12-09 10:09:27

阿里云文件存储(Network Attached Storage,简称 NAS)是面向阿里云 ECS 实例、HPC 和 Docker 等计算节点的文件存储服务。对PHP短视频源码来说,同样离不开云存储的帮助,用户的各类信息、平台的短视频系统内容、直播的录像等都需要很大的储存空间,为了节省自己服务器的开发、配置费用,一般都采用云存储的方式。

1、前期准备:

a登录阿里云,进入对象存储OSS界面,地址如下

https://oss.console.aliyun.com/bucket/oss-cn-shenzhen/mmcele/overview

b创建bucket(存储空间名称),并记录地域节点、bucket域名,后边会用到,如图一

c点击:文件管理:创建需要的文件目录,用来存储需要上传的文件,如图一

PHP短视频源码

d获取阿里云存储相关信息,以下信息根据各自需求可配置,也可直接写在代码中。

PHP短视频源码

2、功能实现:

PHP短视频源码在上传方式上,先再七牛、腾讯云上传,前者需要上传到本地服务器,然后再上传到阿里云服务器,后两者可直接上传到云服务器

a上传文件到本地服务器,代码如下:

$savepath='videolinshi/';
//上传处理类
$config=array(
'rootPath' => './'.C("UPLOADPATH"),
'savePath' => $savepath,
'maxSize' => 1024*1024*200,
'saveName'=> array('uniqid',''),
'exts'   =>array('jpg', 'gif', 'png', 'jpeg',"flv",'mp4'),
'autoSub'    =>    false,);
$upload = new \Think\Upload($config,"Local");
$info=$upload->upload();
//开始上传
if ($info) {
//上传成功,写入附件数据库信息
$first=array_shift($info);
if(!empty($first['url'])){
$url=$first['url'];
}else{       $url=C("TMPL_PARSE_STRING.__UPLOAD__").$savepath.$first['savename'];
 }
} else {
$this->error("上传失败");
}

得到本地服务器文件地址:$url

b配置阿里云存储信息,将本地服务器文件上传到阿里云服务器,代码如下

require(SITE_PATH.'api/public/aliyunoss/autoload.php');
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
$accessKeyId ="sdfadsfsd";
$accessKeySecret ="sdfasdfdsd";
// Endpoint:深圳 根据需求配置所在区域的endpoint
$endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
$bucketpoit = "http://bucketname.oss-cn-shenzhen.aliyuncs.com";
// 存储空间名称
$bucket="bucketname";
// 文件名称
$object = "upload/back/".$first["savename"];//注意这里如果需要上传到置顶目录,需要拼接一下
// <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
try{
$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $object,SITE_PATH.$url);
} catch(OssException $e) {
$this->error(json_encode($e->getMessage()));
}
$url =$bucketpoit."/".$object;//阿里云服务器文件地址


到此,PHP短视频源码的对象存储完成。

如有不明白的可查看阿里云上传文档,文档地址如下:

https://help.aliyun.com/document_detail/88475.html?spm=a2c4g.11186623.6.1022.333e69cbtykSfB

 

以下api代码:

//本地上传
//设置上传路径 设置方法参考3.2
DI()->ucloud->set('save_path','videolinshi/'.date("Ymd"));
 
//新增修改文件名设置上传的文件名称
   // DI()->ucloud->set('file_name', $this->uid);
 
//上传表单名
$res = DI()->ucloud->upfile($_FILES['file']);
$files='../upload'.$res['file'];
$newfiles=str_replace(".png","_thumb.png",$files);
$newfiles=str_replace(".jpg","_thumb.jpg",$newfiles);
$newfiles=str_replace(".gif","_thumb.gif",$newfiles); 
$PhalApi_Image = new Image_Lite();
//打开图片
$PhalApi_Image->open($files);
$resarray=explode("/",$res['file']);
$PhalApi_Image->thumb(660, 660, IMAGE_THUMB_SCALING);
$PhalApi_Image->save($files);
 
$PhalApi_Image->thumb(200, 200, IMAGE_THUMB_SCALING);
$PhalApi_Image->save($newfiles);  
$avatar=  API_ROOT.$files; //600 X 600
$avatar_thumb=str_replace(".png","_thumb.png",$avatar);
$avatar_thumb=str_replace(".jpg","_thumb.jpg",$avatar_thumb);
$avatar_thumb=str_replace(".gif","_thumb.gif",$avatar_thumb);
            
// 阿里云配置信息/
    require_once API_ROOT.'/../simplewind/Lib/Extend/aliyunoss/autoload.php';
/* use OSS\OssClient;
use OSS\Core\OssException; */
 
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
$accessKeyId = DI()->config->get('app.Aliyun.accessKeyId');//"rlzjzqe3AF2yvfdl";// $configpri['alicloud_keyid'];
$accessKeySecret =DI()->config->get('app.Aliyun.accessKeySecret');//"HMvJA6OMPygEQqqKyAaGwy37WbtSEm";//$configpri['alicloud_secret_key'];
//Endpoint:深圳。
$endpoint = DI()->config->get('app.Aliyun.endpoint');//"http://oss-cn-shenzhen.aliyuncs.com";
$bucketpoit = DI()->config->get('app.Aliyun.bucketpoit');//"http://mmcele.oss-cn-shenzhen.aliyuncs.com";
//存储空间名称
$bucket=DI()->config->get('app.Aliyun.bucket');//"mmcele";//$configpri['alicloud_bucket'];//upload
// 文件名称
// $object = DI()->config->get('app.Aliyun.object');//"upload/back/".$resarray[3];
$object ="upload/back/".$resarray[3];
// <yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt
try{
$configpub=getConfigPub();
$ossClient = new \OSS\OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->uploadFile($bucket, $object,API_ROOT."/upload/".$res['file']);
unlink(API_ROOT."/upload/".$res['file']);//删除临时文件
} catch(OssException $e) {
$rs['code'] = 1003;
$rs['msg'] = $e->getMessage();
return $rs;
}
$url =$bucketpoit."/".$object;
$data=array(
"avatar"=>$url,
"avatar_thumb"=>$url,
);
            
            $data2=array(
"avatar"=>$url,
"avatar_thumb"=>$url,
);
}


PHP短视频源码对储存的需求已经是不可或缺的地步,服务器方面的费用支出已经是运营商们必须要用到的,在云存储方面的支持也是各位运营商有必要了解的,想要了解更多的相关内容可以关注之后的文章。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任