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

大连开发区网站建设奥门网站建设

大连开发区网站建设,奥门网站建设,网站建设项目规划审批,轻食网络推广方案现在的文件、图片等上传基本都在使用oss存储。而现在常用的oss存储有阿里云、腾讯云、七牛云、华为云等,但是用的最多的还是前三种。而我主要封装的是本地存储、阿里云存储、腾讯云存储、七牛云存储。废话不多说,直接上传设计图及说明,就一目…

        现在的文件、图片等上传基本都在使用oss存储。而现在常用的oss存储有阿里云、腾讯云、七牛云、华为云等,但是用的最多的还是前三种。而我主要封装的是本地存储、阿里云存储、腾讯云存储、七牛云存储。废话不多说,直接上传设计图及说明,就一目了然咯。     

一、上传父抽象类开发

        在根目录下extend文件夹里创建文件夹并命名为Upload,然后创建上传父抽象类文件并命名为UploadHandle。切记,本类里一定要加上abstract关键字,不仅要类加上,方法也要加上。代码如下:

<?php
/*** 上传父抽象类* User: 龙哥 三年风水* Date: 2024/11/2/0002* Time: 17:47*/
namespace Upload;
abstract class UploadHandle
{/*** 上传操作* @ param $object 加密后的文件* @ param $filePath 临时存放的文件路径* @ return mixed*/abstract function uploadFile($object, $filePath);/*** 删除操作* @ param $object 具体的文件地址* @ return mixed*/abstract function deleteFile($object);
}

二、上传文件工厂控制类

        在根目录下extend文件夹里创建文件夹并命名为Upload,然后创建上传文件工厂控制类并命名为UploadFactory。代码如下:

<?php
/*** 上传文件工厂控制类* User: 龙哥 三年风水* Date: 2024/11/2/0002* Time: 18:06*/
namespace Upload;
use Error\BaseError;
use app\model\param\Upload as UploadModel;
use Upload\channel\LocalUpload;
use Upload\channel\AliyunUpload;
use Upload\channel\TencentUpload;
use Upload\channel\QiniuyunUpload;
class UploadFactory
{public static $instance=null;//缓存实例protected $uploadType = 0;通道类型protected $channel = [];//通道参数/*** 初始化* User: 龙哥·三年风水* Date: 2024/4/8* Time: 15:26* UploadFactory constructor.*/public function __construct($channel){$res = UploadModel::dataFind(['id' => 1],'upload_type,example_name,access_key,secret_key,bucket_name,domain_name');if(empty($res))throw new BaseError("上传通道参数未配置",50000,200);$this->uploadType = $res['upload_type'];if($this->uploadType != 1){$this->channel = ["name"          =>  $res['example_name'],"access_key"    =>  $res['access_key'],"secret_key"    =>  $res['secret_key'],"bucket"        =>  $res['bucket_name'],"domain_name"   =>  $res['domain_name']];}}/*** 调用上传通道* @ return null|AliyunUpload|LocalUpload|QiniuyunUpload|TencentUpload*/public function getUploadHandle(){switch ((int)$this->uploadType){case 1:self::$instance = new LocalUpload();break;case 2:self::$instance = new AliyunUpload($this->channel);break;case 3:self::$instance = new TencentUpload($this->channel);break;case 4:self::$instance = new QiniuyunUpload($this->channel);break;default:self::$instance = null;throw new BaseError("未设置任何文件上传通道",50000,200);break;}return self::$instance;}
}

三、提前说明

        其实这个上传文件工厂控制类还是可以优化的,可以改成自动识别上传工厂类,不需要使用switch方法。明天将实现四个上传工厂类。

http://www.yayakq.cn/news/914755/

相关文章:

  • 山东省住房与城乡建设网站包装设计需要学什么软件
  • 将网页加入可信站点全球设计师
  • dw制作一个手机网站模板下载地址汽车建设网站
  • 网站建设软件是什么意思成品网站w灬 源码1688网页
  • porto wordpress系统优化的方法哲学
  • 番禺做网站设计深圳工业设计展2021
  • 门户网站建设厂商名录阿里云做的网站
  • 西安营销型网站湛江做网站设计
  • 想建设个人网站去那里建设吴桥网站建设公司
  • 域名购买后如何建设网站网页版设计
  • 丽水北京网站建设台州网站建设外包
  • 网站域名注册规则百度网站地址提交
  • 用vs做网站的教程国外无版权素材网站
  • 导视设计网站wordpress文章加密
  • 怎么做电影流量网站吗北京公司摇号中签率
  • 怎么在网站添加关键词旅行社网站开发 论文
  • 网站首页流程图国外企业网址
  • 建好了网站怎么做外贸专业的官网设计公司
  • 响应式旅游网站模板登封郑州网站建设
  • 前端旅游网站行程怎么做wordpress有广告
  • 济宁亿峰科技做网站一年多少费用惠州自动seo
  • 长沙专业外贸网站建设商标 做网站 是几类
  • 网站关键词重复网络建设的流程网站
  • 三合一网站模板深圳平面设计培训
  • 网站链接收费怎么做的腾讯云域名查询
  • 不同网站建设报价单创建一个新的公司网站
  • 用react做的网站移动应用开发技术学什么
  • 信用网站建设意见抖音代运营直播
  • 中国古建筑网站html5视频网站模板
  • 网站设计网络推广优化企业注册信息