php上传文件与图片到七牛的实例详解

php上传文件与图片到七牛的实例详解

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

用composer安装PHP SDK

composer require qiniu/php-sdk

 

上传文件到七牛

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

$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 Qiniu\Auth;

$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>";
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112956.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 迅雷修改tracker服务器,qBittorrent 添加自定义 Tracker 的方法[通俗易懂]

    迅雷修改tracker服务器,qBittorrent 添加自定义 Tracker 的方法[通俗易懂]之前一直用uTorrent,前几天试了下qBittorrent之后,发现qBittorrent更容易添加自定义Tracker地址。uTorrent还需要每次添加或者修改Tracker服务器地址,而qBittorrent可以设置自动添加Tracker地址,而不需要每次下载都添加了。方法很简单:1.打开qBittorrent之后,点击工具→选项:2.在打开的界面中点击左…

    2022年9月27日
    2
  • css修改滚动条样式可以兼容ie吗_css设置滚动条

    css修改滚动条样式可以兼容ie吗_css设置滚动条写过挺多项目都需要改变滚动条的默认样式并不想单独下载和引入插件因此纯css修改默认滚动条的样式这次算统一整理下方法,直接上代码。&::-webkit-scrollbar{//滚动条的背景width:16px;background:#191a37;height:14px;}&::-webkit-scrollbar-track,&::-webkit-scrollbar-thumb{border-radius:999px;

    2022年10月20日
    2
  • linux下vi操作Found a swap file by the name

    linux下vi操作Found a swap file by the name

    2021年10月29日
    78
  • go get 使用代理

    go get 使用代理众所周知的原因,goget命令在提取一些工程或依赖时(如golang.org域名)被墙掉。通过使用vpn或代理的方法可以解决。买VPN这个就不多说了,买vpn,相当于直接连接。使用代理通过shell环境变量exporthttp_proxy=http://ip:portgogetgolang.org/xxx通过设置git代理这也是go官方指导。gitconfig–globalhttp.

    2022年7月25日
    30
  • 如何利用微信做营销?

    如何利用微信做营销?

    2021年8月28日
    49
  • CodeBlocks控制台中文乱码

    CodeBlocks控制台中文乱码中文乱码是个老问题了,涉及乱码的问题无非是编码不统一造成的;涉及编码的地方常见有:1.源文件本身编码2.编译器读取源文件编码3.数据编码(数据库,IO文件等)4.执行输出编码&amp;nbsp;知道乱码的原因有利于解决乱码问题,这些原因在哪个IDE都是通用的&amp;nbsp;关于codeblock这款IDE,这里…

    2022年7月26日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号