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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA的垃圾回收机制_java的内存回收机制

    JAVA的垃圾回收机制_java的内存回收机制一:垃圾回收机制的意义java语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存;内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构的一般…

    2022年10月10日
    0
  • Burp Suite抓包、截包和改包「建议收藏」

    Burp Suite抓包、截包和改包「建议收藏」条件:本地网络使用代理,由BurpSuite来代理。也就是说,每个流出外网的web数据包都必须经过BurpSuite,她想动你的数据包,你说可以不?0、配置本地网络代理配置:Windows下,打开IE——&gt;设置——&gt;Internet选项——&gt;连接——&gt;局域网设置(L)——&gt;代理服务器下勾选“为LAN使用代理服务器”,地址:127.0.0.1,端口:8080Bur…

    2022年6月8日
    222
  • JVM自动内存管理机制–读这篇就GO了

    之前看过JVM的相关知识,当时没有留下任何学习成果物,有些遗憾。这次重新复习了下,并通过博客来做下笔记(只能记录一部分,因为写博客真的很花时间),也给其他同行一些知识分享。Java自动内存管理机制包

    2022年2月16日
    33
  • [LeetCode] Insertion Sort List 链表插入排序「建议收藏」

    [LeetCode] Insertion Sort List 链表插入排序

    2022年3月12日
    34
  • Docker系列七: 使用Humpback管理工具管理容器(一款UI管理工具)

    Docker系列七: 使用Humpback管理工具管理容器(一款UI管理工具)Humpback可以帮助企业快速搭建轻量级的Docker容器云管理平台,若将你的Docker主机接入到Humpback平台中,就能够为你带来更快捷稳定的容器操作体验。功能特点Web操

    2022年8月2日
    4
  • 查看idea激活码-激活码分享

    (查看idea激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSWQi…

    2022年3月27日
    75

发表回复

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

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