[php-cos]ThinkPHP项目集成腾讯云储存对象COS

这篇具有很好参考价值的文章主要介绍了[php-cos]ThinkPHP项目集成腾讯云储存对象COS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Cos技术文档
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言

1、安装phpSdk
通过composer的方式安装。
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
1.1 在composer.json中添加 qcloud/cos-sdk-v5: >=2.0

  "require": {
        "php": ">=7.2.5",
        "topthink/framework": "^6.1.0",
        "topthink/think-orm": "^2.0",
        "topthink/think-filesystem": "^1.0",
        "zoujingli/wechat-developer": "^1.2",
        "qcloud/cos-sdk-v5": ">=2.0"
    },

将composer.lock删除,然后运行composer install 就安装成功了。
查看vendor中的是否存在qcloud\cos-sdk-v5,安装包中有使用的例子:sample文件夹中。
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
2、添加配置文件
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
3、编写cos工具类

<?php

namespace app\common;

use think\facade\Config;
use Qcloud\Cos\Client;

class CosClient
{




    public static function uploadFile()
    {
        ### 上传文件流
        try {
            $qcloudConfig = Config::get("cosClient");
            $bucket = $qcloudConfig["bucket"]; //存储桶名称 格式:BucketName-APPID
            $key = "exampleobject"; //此处的 key 为对象键,对象键是对象在存储桶中的唯一标识
            $srcPath = "C:/Users/nima/Desktop/Snipaste_2023-07-26_14-59-39.png"; //本地文件绝对路径
            $file = fopen($srcPath, 'rb');
            if ($file) {
                $result = CosClient::cosClient()->Upload(
                    $bucket = $bucket,
                    $key = $key,
                    $body = $file
                );
            }
            print_r($result);
        } catch (\Exception $e) {
            echo "$e\n";
        }
    }

    public static function cosClient()
    {
        $qcloudConfig = Config::get("cosClient");

        $secretId = $qcloudConfig["secretId"];
        $secretKey = $qcloudConfig["secretKey"];
        $region = $qcloudConfig["region"];


        $cosClient = new Client(
            array(
                'region' => $region,
                'schema' => 'https', //协议头部,默认为http
                'credentials' => array(
                    'secretId'  => $secretId,
                    'secretKey' => $secretKey
                )
            )
        );
        return $cosClient;
    }
}

测试:

<?php

namespace app\controller;

use app\BaseController;
use think\Request;


use app\model\User;
use think\facade\Config;
use app\common\CosClient;



class CosController extends BaseController
{

    /**
     * 上传文件cos
     */
    public function cosUploadFile()
    {
        CosClient::uploadFile();
    }

}

postman请求:

[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
成功报错:

GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: self signed certificate in certificate
chain (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for
https://shushan-1259593927.cos.ap-nanjing.myqcloud.com/exampleobject in
F:\shushan-server\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php:211
Stack trace:
#0 F:\shushan-server\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php(158):
GuzzleHttp\Handler\CurlFactory::createRejection()
#1 F:\shushan-server\vendor\guzzlehttp\guzzle\src\Handler\Curl

按照报错指示,查看https://curl.haxx.se/libcurl/c/libcurl-errors.html找到解决办法:
下载pem证书,配置证书。

curl pem证书下载地址

[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
将证书保存在:D:/phpstudy_pro/Extensions/php/php8.0.2nts/extras/ssl/cacert.pem
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
打开PHP.ini配置文件:配置证书:curl.cainfo
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
重启小皮
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
再次postman访问:成功了!

[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言
[php-cos]ThinkPHP项目集成腾讯云储存对象COS,php,腾讯云,开发语言文章来源地址https://www.toymoban.com/news/detail-609420.html

到了这里,关于[php-cos]ThinkPHP项目集成腾讯云储存对象COS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot集成COS对象存储

    新建密钥(后面配置要用到) 此处使用工具类进行基本属性配置,也可选择在yml中配置

    2024年01月22日
    浏览(48)
  • 【2023新教程】树莓派定时自动拍照并上传腾讯云对象存储COS

    仅适用于 Release date: May 3rd 2023、Debian version: 11 (bullseye) 这个树莓派OS版本,其他版本不保证有效。 首先使用如下命令,查看自己树莓派的架构。 结果如下: 如果红圈处显示为 aarch64 ,使用命令 sudo nano /etc/apt/sources.list ,注释掉里面的所有内容,加入以下内容: 然后保存。

    2024年02月12日
    浏览(33)
  • 腾讯云国际-如何使用对象存储COS在 CKafka 控制台创建数据异步拉取任务?腾讯云代充

    Datahub 支持接入各种数据源产生的不同类型的数据,统一管理,再分发给下游的离线/在线处理平台,构建清晰的数据通道。 本文以 COS 数据为例介绍如何在 CKafka 控制台创建数据异步拉取任务,并对任务进行修改配置,帮助用户更好地了解数据接入功能。 关联unirech注册腾讯云

    2024年02月08日
    浏览(45)
  • 【golang】go获取腾讯云cos对象存储 并转为base64字符串输出

    需要引入腾讯云cos的sdk https://github.com/tencentyun/cos-go-sdk-v5 配置yaml如下: go代码编写如下:

    2024年02月11日
    浏览(35)
  • 使用Docker Dockerfile构建php LNMP集成开发环境,并运行Thinkphp5

    系统:MAC、Windows10 Docker版本:Docker version 23.0.5 Docker Desktop:Dockerdesktop官方地址 这篇主要介绍如何在Mac、Windows10使用docker搭建LNMP集成开发环境。下面我会写Dockerfile编译安装Nginx+php基础环境。mysql、redis基于官方Docker hub,分别构建我们自己的镜像。  code目录存放工程代码,会映

    2024年02月15日
    浏览(44)
  • PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】

    强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! PHP无类 PHP类写法 ThinkPHP框架 其它框架 *5.0 环境 PHP版本 mysql版本

    2024年02月15日
    浏览(31)
  • 腾讯云COS存储是什么_腾讯云COS有什么用?

    由于这是给新手写的东西,就尽量整得简单易懂些吧。 作为国内第二大的云服务厂商,安全性,可靠性这些东西就不用过多做介绍了(这里并非说他绝对安全,而是比那些小平台的安全性高N个级别) 腾讯云COS与隔壁阿里云的OSS都是提供对象存储的服务,(即文件存储)。比

    2024年02月11日
    浏览(26)
  • 腾讯云存储COS

    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种

    2024年02月12日
    浏览(38)
  • 腾讯云COS的快速接入

    最近在研究一个剪贴板粘贴工具,实现粘贴图片,返回可访问的地址,这个在我的哔哩哔哩上有出一期视频🤭。但是,我发现部分博客平台不能正常的转载我的图片链接,于是研究了一下腾讯云的COS(阿里的叫OSS,最开始我还不知道腾讯云的叫COS🥹),想着其它平台应该可

    2024年02月13日
    浏览(26)
  • SpringBoot整合腾讯云COS(上传)

    腾讯云COS文档:对象存储 快速入门-SDK 文档-文档中心-腾讯云 (tencent.com) 开通腾讯云COS 创建存储桶 请求域名可做拼接文件访问URL使用 然后下一步即可 上传 文件时需要以上红框参数 导入依赖 配置文件yml 配置类 Controller 实际需分层(service/impl),这里仅为记录 测试 可通过该U

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包