当前位置: 首页 > news >正文

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展

扩展入口文件

文件目录 crmeb\services\upload\Upload.php

namespace crmeb\services\upload;use crmeb\basic\BaseManager;
use think\facade\Config;/*** Class Upload* @package crmeb\services\upload* @mixin \crmeb\services\upload\storage\Local* @mixin \crmeb\services\upload\storage\OSS* @mixin \crmeb\services\upload\storage\COS* @mixin \crmeb\services\upload\storage\Qiniu*/
class Upload extends BaseManager
{//...
}

使用上传扩展

use crmeb\services\upload\Upload;$upload = new Upload();//上传文件
$path = '上传目录';
//validate() 方法为验证上传
//move() 调用move方法进行上传
$res = $upload->to($path)->validate()->move();//上传文件流
$fileContent = '文件流内容';
$res = $upload->to($path)->validate()->stream($fileContent);//上传文件流不验证文件
$res = $upload->to($path)->stream($fileContent);

获取第三方上传桶列表

$type 1=本地上传,2=七牛云、3=阿里云oss、4=腾讯云cos

use app\services\other\UploadService;//切换到阿里云oss上传
$type = 3;$upload = UploadService::init($type);//获取桶列表
$list = $upload->listbuckets();var_dump($list);/*
[{"name":"桶名","location":"区域","createTime":"创建时间",}
]
*/

创建第三方上传扩展桶

use app\services\other\UploadService;//切换到阿里云oss上传
$type = 3;$upload = UploadService::init($type);//创建桶
$res = $upload->createBucket('test-bucket-oss');if (false === $res) {var_dump($upload->getError());
} else {//创建成功
}

使用系统自带封装服务

use app\services\other\UploadService;//根据系统设置自动实例化上传类
$upload = UploadService::init();
//执行上传
$path = '';
$res = $upload->to($path)->validate()->move();//上传失败
if (false === $res) {var_dump($upload->getError());
} else {var_dump($res->uploadInfo); //上传文件信息var_dump($res->realName); //文件真实名称var_dump($res->fileName); //文件上传后的名称var_dump($res->filePath); //文件上传后的路径地址
}

附件:https://gitee.com/ZhongBangKeJi/CRMEB

相关文章:

  • 【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
  • MongoDB慢查询临时开启方法讲解
  • MongoDB检查慢查询db.system.profile.find 分析各参数的作用
  • web3-基于贝尔曼福特算法(Bellman-Ford )与 SMT 的 Web3 DeFi 套利策略研究
  • 精益数据分析(94/126):30/10/10用户参与法则与定价策略的科学制定
  • MADlib —— 基于 SQL 的数据挖掘解决方案(4)—— 数据类型之矩阵
  • 撰写脚本,通过发布/joint_states话题改变机器人在Rviz中的关节角度
  • Jenkins 工作流程
  • Linux配置yum 时间同步服务 关闭防火墙 关闭ESlinux
  • vue3+TS+eslint9配置
  • 如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
  • 【 *p取出内容 a得到地址】
  • vite配置@别名,以及如何让IDE智能提示路经
  • 媒体新闻发稿:选择适合自己的媒体
  • NVIDIA Dynamo:数据中心规模的分布式推理服务框架深度解析
  • 国芯思辰| AD7894的优质替代方案:SC1424模数转换器在分布式控制系统中的应用优势
  • 分布式Session处理的五大主流方案解析
  • 使用docker 安装Redis 带配置文件(x86和arm)版本
  • 服务器健康摩尔斯电码:深度解读S0-S5状态指示灯
  • 二分算法
  • 教育网站建设方案/百度app下载安装官方免费版
  • 网站服务器选择什么操作系统/成人大学报名官网入口
  • 建设部质量监督官方网站/线上如何推广自己的产品
  • 专业定制网站建设代理/深圳十大教育培训机构排名
  • 做网站开发的薪酬怎么样/百度指数是什么
  • 人才招聘网站建设/seo如何进行优化