百搜论坛欢迎您的加入!
adimg adimg
 
昨日:篇  今日:篇   总帖:篇   会员:
博主最大Lv63   
程序驱动     

驱动

说明

从之前的3.0,3.1版本中文件上传,sms短信发送,小票打印机书文件存放还是书写都比较随意,因此pro版本和3.2版本中修改成多驱动形式;

文件目录结构

├─crmeb       CREMB核心类库
│  ├─services
│  │  ├─printer 打印机
│  │  ├─sms 短信
│  │  ├─template 模板消息
│  │  ├─upload 文件上传

Template 使用方式

//以微信公众号小程序模板消息为驱动方式
$template = new Template('wechat');
$res=$template->to('送达人openid')->color('字体颜色')->url('跳转路径')->send('模板id编号',array [发送数据]);

if($res === false){
    dump($res->getError());
}else{
    dump('ok');
}

增加驱动

说明

这里以文件上传为例进行增加金山云文件上传,创建的文件名必须首字母大写

第一步,增加金山云上传驱动文件类 crmeb\services\upload\storage\Jinshan.php

<?php

namespace crmeb\services\upload\storage;


use crmeb\basic\BaseUpload;

class Jinshan extends BaseUpload
{
    //实例化类
    protected function initialize(array $config)
    {
        parent::initialize($config); // TODO: Change the autogenerated stub
    }
    // 实例化上传
    protected function app()
    {
        // TODO: Implement app() method.
    }
    //上传文件
    public function move(string $file = 'file')
    {
        // TODO: Implement move() method.
    }
    //上传流文件
    public function stream(string $fileContent, string $key = null)
    {
        // TODO: Implement stream() method.
    }
    //删除文件
    public function delete(string $filePath)
    {
        // TODO: Implement delete() method.
    }
    //获取上传密钥
    public function getTempKeys()
    {
        // TODO: Implement getTempKeys() method.
    }
}

增加上传配置 config/upload.php 每一个驱动都能增加单独的上传配置

return [
    //默认上传模式
    'default' => 'local',
    //上传文件大小
    'filesize' => 2097152,
    //上传文件后缀类型
    'fileExt' => ['jpg', 'jpeg', 'png', 'gif', 'pem', 'mp3', 'wma', 'wav', 'amr', 'mp4', 'key'],
    //上传文件类型
    'fileMime' => ['image/jpeg', 'image/gif', 'image/png', 'text/plain', 'audio/mpeg'],
    //驱动模式
    'stores' => [
        //本地上传配置
        'local' => [],
        //七牛云上传配置
        'qiniu' => [],
        //oss上传配置
        'oss' => [],
        //cos上传配置
        'cos' => [],
        //金山云上传配置
        'jinshan'=>[
            'filesize'=>2097152,
            'fileExt'=>['jpg'],
            'fileMime'=>['image/jpeg'],
        ],
    ]
];

实例调用

$upload = new Upload('jinshan');
//validate 参数为数组如果不填写默认读取jinshan云的配置进行上传验证
$res = $upload->to('上传路径')->validate()->move();
if($res !== false){
    //返回类型为对象
    dump($res);
    //可调用getUploadInfo来获取保存在附件表的详细信息
    dump($upload->getUploadInfo());
    //可调用getFileInfo来获取上传后返回的对象
    dump($upload->getFileInfo());
}else{
    //上传失败调用getError 获取错误信息
    dump($upload->getError());
}
 0  已被阅读了1182次  楼主 2020-06-12 15:38:12
回复列表

回复:程序驱动

联系站长 友链申请桂ICP备19000949号-1     桂ICP备19000949号-1
您的IP:3.129.13.201,2024-04-16 15:13:38,Processed in 0.01854 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 7.12.9
已有0次打赏
(0) 分享
分享
取消
免责声明
1、本站资源,均来自网络,版权归原作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !
如果觉得本文还不错请点个赞或者打赏点轻币哦~
拒绝伸手党,拿走请回复,尊重楼主,尊重你我他~

侵权删除请致信 E-Mail:207882320@qq.com