原生php 使用阿里云oss Can‘t use method return value in write context

php 使用阿里云oss Can’t use method return value in write context
排查一下自己的php版本是不是比较低

我尝试从oss_sdk2.6 更换为aliyun-oss-php-sdk-2.2.4

问题完美解决

链接:https://github.com/aliyun/aliyun-oss-php-sdk/releases/tag/v2.2.4

顺便补充下 原生php 使用oss-sdk

1,如果没有composer 直接通过上面链接下载下来压缩包 然后直接解压,放入项目根目录
在这里插入图片描述
2,在\oss-php-sdk\src\OSS 目录我简单写了一个oss连接类 这个自己看着放

在这里插入图片描述

<?php
namespace OSS;

require_once __DIR__ . '/../../autoload.php';
use OSS\Core\OssException;
/**
 *阿里云oss文件上传
 */
class AliOss
{

    const endpoint        = 'xxx';
    const accessKeyId     = 'xxx';
    const accessKeySecret = 'xxx';
    const bucket          = 'xxx';
    /**
     * 根据Config配置,得到一个OssClient实例
     *
     * @return OssClient 一个OssClient实例
     */
    public static function getOssClient()
    {
        try {
            $ossClient = new OssClient(self::accessKeyId, self::accessKeySecret, self::endpoint, false);
        } catch (OssException $e) {
            printf(__FUNCTION__ . "creating OssClient instance: FAILED\n");
            printf($e->getMessage() . "\n");
            return null;
        }
        return $ossClient;
    }
    public static function getBucketName()
    {
        return self::bucket;
    }
}

3,直接随便找个php调用就好了,记得这个 require_once ‘oss-php-sdk/autoload.php’;//这个特别重要

date_default_timezone_set("Asia/Shanghai");

require_once 'oss-php-sdk/autoload.php';//这个特别重要
use OSS\AliOss;


class Dblib
{
 /**
     * oss上传图片
     *
     * @return array
     * @throws \OSS\Core\OssException
     */
    public function uploadImage($img_url)
    {
        $ossClient  = AliOss::getOssClient();
        $bucketName = AliOss::getBucketName();
        $url = explode('?',$img_url)[0];
        $url = explode('/',$url);
        $img_name = end($url);
        $path = 'test/'.$img_name;
        // 执行上传并获取返回 oss 信息
        $ossClient->putObject($bucketName,$path, file_get_contents($img_url));

        return "你的oss-url". "/" . $path;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值