zoukankan      html  css  js  c++  java
  • php上传文件与图片到七牛的实例详解

    上传文件到七牛最简单的方式就是使用七牛官方最新的SDK

    用composer安装PHP SDK

    composer require qiniu/php-sdk

     

    上传文件到七牛

    use QiniuAuth;
    use QiniuStorageUploadManager;

    $cfg = [
     'access' => 'YOUR_ACCESS_KEY',
     'secret' => 'YOUR_SECRET_KEY',
     'bucket' => 'YOUR_BUCKET',
     'domain' => 'https://images.your_domain.com'
    ];

    $auth = new Auth($cfg['access'], $cfg['secret']);
    // 创建一个过期时间为1小时的临时上传令牌
    $token = $auth->uploadToken($cfg['bucket'], null, 3600);

    $filePath = "./illustration.png";

    $uploadMgr = new UploadManager();
    list($ret, $err) = $uploadMgr->putFile($token, null, $filePath);
    if($err !== null) {
      $this->err = $err;
    else {
      echo $cfg['domain'] . '/' . $ret['key'];
    }

     

    php向七牛上传base64编码的图片

    <?php
    require_once 'vendor/autoload.php';
    header('Access-Control-Allow-Origin:*');

    use QiniuAuth;

    $bucket = '要上传的空间名';
    $accessKey = '你的accessKey';
    $secretKey = '你的secretKey';
    $auth = new Auth($accessKey, $secretKey);
    $upToken = $auth->uploadToken($bucket, null, 3600);//获取上传所需的token


    function request_by_curl($remote_server,$post_string,$upToken) { 

     $headers = array();
     $headers[] = 'Content-Type:image/png';
     $headers[] = 'Authorization:UpToken '.$upToken;
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL,$remote_server); 
     //curl_setopt($ch, CURLOPT_HEADER, 0);
     curl_setopt($ch, CURLOPT_HTTPHEADER ,$headers);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     //curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
     curl_setopt($ch, CURLOPT_TIMEOUT, 30);
     $data = curl_exec($ch); 
     curl_close($ch); 

     return $data; 

    $str="base64编码的字符串";
    echo "<pre>";
    echo request_by_curl('http://upload.qiniu.com/putb64/-1',$str,$upToken);
    echo "</pre>";
  • 相关阅读:
    用简单的方法解决问题
    记一次调试
    工作笔记还是蛮有用
    35岁往上做什么
    2013年个人总结
    一个C++宏定义与枚举定义重复的编译错误
    动态库的麻烦之处
    谈谈软件项目的dependency
    创建pathing jar
    谈谈patch strategy
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9575336.html
Copyright © 2011-2022 走看看