php上传网络图片到七牛云存储

php---将网络图片上传到七牛云存储

一、获取已知网络图片数据

使用curl读取图片数据

public function getImgData($img_url)
    {
        $ch = curl_init($img_url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
        //读取图片数据
        $rawData = curl_exec($ch);
        curl_close($ch);
      
        return $rawData;
    }

二、php上传图片到七牛云

1、配置七牛信息

$accessKey = '七牛云AccessKey';
$secretKey = '七牛云SecretKey';
$qiniu_domain_url = '空间域名';
$bucket = '存储桶名称';

2、上传图片,返回值:$uploadurl即为上传到七牛云的图片地址

         //引入七牛云sdk
        require_once API_ROOT.'/../sdk/qiniu/autoload.php';
        //$img_url:网络图片地址
        $imageData = $this->getImgData($img_url);
        $auth  = new \Qiniu\Auth($accessKey, $secretKey);         
        $token = $auth->uploadToken($bucket);
        $key   = 'qrurl_'.$uid.'.png';//存储图片名称
        $up    = new \Qiniu\Storage\UploadManager();
        $mime  = 'image/jpeg';
        list($rest, $err) = $up->put($token, $key, $imageData, null, $mime);
        if ($err) {
            echo '<pre>';
            print_r($err);
        } else {
            echo '<pre>';
            print_r($rest);
            $uploadurl = $qiniu_domain_url.$rest['key'];//七牛存储图片地址
        }

3、别忘记在文件顶部引用下qiniu内部文件

use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use Qiniu\Storage\BucketManager;

4、本文中使用的七牛sdk下载地址:

链接:https://pan.baidu.com/s/1RUuYcKKU7CW1p9Uc_xWx_g 
提取码:r5x4 
复制这段内容后打开百度网盘手机App,操作更方便哦

猜你喜欢

转载自blog.csdn.net/u014724048/article/details/114583365