PHP之 腾讯云对象存储上传

August 18, 2019 · PHP · 118次阅读

PHP腾讯的对象存储的文件上传

今天呢小弟整一篇腾讯云的对象存储文件上传,因为小弟之前刚入门是个萌新的时候就很疑惑对象存储咋整的,咋回事,啥情况,那会就是很懵逼,所以今天小弟就来整一下,首先我们要用上 composer + php,composer PHP的未来啊。

首先第一步呢,我要用 composer安装下腾讯给我们提供的 sdk 运行命令:
composer require qcloud/cos-sdk-v5

安装好后呢,很容易贴代码:


<?php
//腾讯云对象存储使用
require(__DIR__.'/vendor/autoload.php');
/**
 *  事先说明下 $secretId $secretKey $bucket $region 
 *  这些呢都是配置文件,都在腾讯云 那里都能获取到的
 *  如果开发不用接触到服务器的话,找那个负责服务器的人拿
 */

$secretId = "xxx"; //"云 API 密钥 SecretId";
$secretKey = "xxxx"; //"云 API 密钥 SecretKey";
$region = "ap-guangzhou"; //设置一个默认的存储桶地域
// new 一个对象存储的对象 填上该有的配置文件
$cosClient = new Qcloud\Cos\Client(
    array(
        'region' => $region,
        'schema' => 'https', //协议头部,默认为http
        'credentials'=> array(
        'secretId'  => $secretId ,
        'secretKey' => $secretKey)));

//这我们上传的到服务器的文件嘛
$file = $_FILES['image'];
//首先我们读取下文件内容
$content = file_get_contents($file['tmp_name']);
//这个是存储到对象存储的要设的文件名。我呢就直接拿了上传的上传文件的名,你们可以自定义处理
$keyPath = $file['name'];
//调用对象存的方法把我们上传的文件上传上去
$cosClient->upload(
    $bucket= 'womuzhi-1257627177', //这个存储桶的信息腾讯云获取
    $key = $keyPath, //上传到对象存储文件的名字
    $body = $content, //上传文件的内容,不是url哦 是把文件读取出的来内容
    $options = array(
        'CacheControl' => 'private',
        'StorageClass' => 'string'
    )
);
//然后我们获取一下上传后的地址,如果没有返回地址的话,就是上传失败
$path = $cosClient->getObjectUrl($bucket, $key);
echo "<pre>";
var_dump($path);

下面看看我上传后一张图片的效果:
深度截图_选择区域_20190818205730.png

string(90) "https://womuzhi-1257627177.cos.ap-guangzhou.myqcloud.com/Autumn_in_Kanas_by_Wang_Jinyu.jpg"

就是这么的简单,简单吧其实学会了这个阿里云,七牛云,什么的都简简单单啦。
如果,需要测试,你们可以写一个HTML FROM表单 上传试试 代码是能用的 前提你必须composer安装了腾讯云对象存储的SDK。

好了,有啥问题都可以来找小弟,完美交差,我给自己的坚持,每周两篇文章不管啥题材啥内容,这周第二篇文章因为自己的懒拖到周日才完成,差点就破了戒,人总要有点自己坚持的事情,不知道我坚持到最后让我收获到什么呢。反正我是才刚开始,没事坚持看看可能会有一样的风景呢。。。加油 加油 加油

喝杯水

标签:PHP

最后编辑于:2019/08/21 19:24

添加新评论

控制面板