字体-字体+

Thinkphp框架使用七牛驱动上传文件

2017-12-25 ThinkPHP框架 访问量 136

Thinkphp上传文件这块提供支持的上传驱动包括Local、Ftp、Sae、Bcs、七牛和又拍云等,大多时候我们使用的是普通的,随着七牛,Oss等一系列的对象存储的普及和流行,它们也得到了大范围的推广使用。今天破晓猫就给大家来介绍一下使用Thinkphp七牛驱动来实现上传文件到七牛。

为了演示方便,这里使用的是Thinkphp3.2的版本。

其实和普通的配置方式几乎差不多,就是改下它的驱动方式就行,详细说明请看代码注释部分。

$config = array(
    'maxSize' => intval(W('Common/ConfigCache/getCache', [2, 'savefilelimitsize'])) * 1024 * 1024, //上传文件大小
    
    'rootPath' => __UPLOAD__, // 设置附件上传根目录
    
    'savePath' => W('Common/ConfigCache/getCache', [2, 'savefilesubname']) . '/',  //上传文件保存路径,相对于rootPath
    
    //'saveName' = array('uniqid', ''),
    
    'exts' => explode(',', W('Common/ConfigCache/getCache', [2, 'savefilelimitpicext'])),//允许上传后缀
    
    'autoSub' => true,//开启子目录 
    
    'subName' => array('date', W('Common/ConfigCache/getCache', [2, 'savefilesubdir'])), 
    //子目录方式,这里是根据时间来设置三种,Ymd,Y-m-d,Y/m/d
);

$config = array_merge($config, 
    ['driver' => 'Qiniu',//七牛驱动
        'driverConfig' => [
            'secretKey' => W('Common/ConfigCache/getCache', [2, 'qiniu_sk']),//sk
            'accessKey' => W('Common/ConfigCache/getCache', [2, 'qiniu_ak']),//ak
            'domain' => W('Common/ConfigCache/getCache', [2, 'qiniu_domain']),//一般填写空间里测试域名
            'bucket' => W('Common/ConfigCache/getCache', [2, 'qiniu_space'])//空间名称
            ]
     ]
);

$upload = new \Think\Upload($config);// 实例化上传类

$info = $upload->upload();

$filename = str_replace('/','_',$filename);//七牛上传后将 /变成了_,这里也相应的改变

$filename = W('Common/ConfigCache/getCache', [2, 'qiniu_domain']).'/'.$filename;  //这里将测试域名+文件名,即为一个标准的七牛存储的文件名。

thinkphp使用七牛驱动上传文件相对来说还是非常简单的,感谢您的浏览,如有需要,可以和博主一起探讨。


标签:

原文来自:http://www.dawnfly.cn/article-1-379.html,转载请注明出处,谢谢【破晓博客复制链接地址

2017春季新款女装上衣衬衫女长袖百搭印花系带蝴蝶结雪纺衫衬衣潮