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


相关推荐

  • navicat最新激活码_通用破解码

    navicat最新激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    203
  • ffmeg_facet的意思

    ffmeg_facet的意思音频文件转码简介本文描述如何从其它格式的音频转成符合语音识别输入要求格式的音频文件。由于底层识别使用的是pcm,因此推荐直接上传pcm文件。如果上传其它格式,会在服务器端转码成pcm,调用接口的耗时会增加。语音识别仅支持以下格式:pcm(不压缩)、wav(不压缩,pcm编码)、amr(有损压缩格式);8k/16k采样率16bit位深的单声道。即:pcmwavamr格式三选一。 正常情

    2022年9月25日
    1
  • 自定义标签(TagSupport )

    自定义标签(TagSupport )定义最简单的标签自定义标签采用Default Adapter模式(缺省适配模式)Java代码配置文件Xml代码JSP页面Html代码TagSupport的流程图SKIP_BO

    2022年7月1日
    23
  • HIBERNATE学习笔记

    HIBERNATE学习笔记

    2021年5月7日
    131
  • iostat命令详解——linux性能分析[通俗易懂]

    iostat命令详解——linux性能分析[通俗易懂]之前总结uptime和free命令,今天继续来总结一下iostat。给自己留个笔记,同时也希望对大家有用。版本信息:         sysstatversion9.0.4         (C)SebastienGodard(sysstatorange.fr)基本使用:          iostat[-c][-d][-N][-n

    2022年10月6日
    1
  • Activity启动模式之FLAG_ACTIVITY_CLEAR_TOP

    Activity启动模式之FLAG_ACTIVITY_CLEAR_TOP关于Android的Intent.FLAG_ACTIVITY_CLEAR_TOP如果设置,并且这个Activity已经在当前的Task中运行,因此,不再是重新启动一个这个Activity的实例,而是在这个Activity上方的所有Activity都将关闭然后这个Intent会作为一个新的Intent投递到老的Activity(现在位于顶端)中。例如,假设一个Task中包含这些Act…

    2022年7月17日
    15

发表回复

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

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