企业设计网站建设,网站广告图做多大,郑州网站推广 汉狮网络,wordpress 去除rss图片文件存服务器非常占用存储带宽资源#xff0c;且用户访问体验也不佳#xff0c;因此使用一些第三方oss存储就很有必要了。之前lz发布了一篇tp使用阿里云oss的博文。不过阿里oss是收费的。而七牛云提供了一些免费使用额度。所以#xff0c;这里额外补充一篇。 1.前提准备… 图片文件存服务器非常占用存储带宽资源且用户访问体验也不佳因此使用一些第三方oss存储就很有必要了。之前lz发布了一篇tp使用阿里云oss的博文。不过阿里oss是收费的。而七牛云提供了一些免费使用额度。所以这里额外补充一篇。 1.前提准备
先去七牛云官网注册自己的账号并申请好对象存储资源。创建一个空间。并绑定一个自定义源站域名。这里lz的空间名liuqingwushui 源文件绑定域名为liuqiniu.flchy.com
最后记得去个人中心密钥管理把 AKSK秘钥复制下来后面会用得上。 2.tp框架引入SDK 这里lz使用的tp框架是thinkphp5.0.24。结构目录大体如下。先去七牛云官网下载php sdkPHP SDK_SDK 下载_对象存储 - 七牛开发者中心。并将下载的sdk重命令为qiniu把文件复制到vendor目录下。最终目录结构如下
tips:这里注意一下下载的php sdk版本和php版本要对应如果是很久之前的sdk版本。你在php7.4以上环境下运行上传文件会报错Trying to access array offset 。所以建议下载最新的sdk版本。 引入sdk之后直接在代码中调用即可。这里调用的核心Controller文件代码
Imgupload.php
?php
namespace app\qiniu\controller;
use think\Controller;
use think\Db; //数据库连接类Db
require_once ../vendor/qiniu/autoload.php;
use \Qiniu\Auth;
use \Qiniu\Storage\UploadManager;class Imgupload extends Controller{public function index(){$loginstatus true; //可以调用方法来判断是否登录if($loginstatus){// 用于签名的公钥和私钥$accessKey 你的ak;$secretKey 你的sk;// 初始化签权对象$auth new Auth($accessKey, $secretKey);// 空间名 https://developer.qiniu.io/kodo/manual/concepts$bucket liuqingwushui;// 生成上传Token$token $auth-uploadToken($bucket);// 构建 UploadManager 对象$uploadMgr new UploadManager();// 上传文件到七牛$filePath request()-file(file);$file$filePath-getInfo()[tmp_name];$key $filePath-getInfo()[name]; //文件名list($ret, $err) $uploadMgr-putFile($token, $key, $file);if ($err ! null) {$arrayarray(code1,msg上传失败,data[]);} else {$arrayarray(code0,msg上传成功,data$ret);}echo json_encode($array);}}}
调用该接口传入文件表单参数file上传成功后会返回如下结果 该图片在七牛云的访问地址即hotskey。这里的host就是前面提到的源文件绑定域名。