PHP上传文件及图片到七牛的方法


Posted in PHP onJuly 25, 2018

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

安装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>";

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
在 PHP 中使用随机数的三个步骤
Oct 09 PHP
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
PHP 面向对象实现代码
Nov 11 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
PHP数组及条件,循环语句学习
Nov 11 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
php实现高效获取图片尺寸的方法
Dec 12 PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 PHP
PHP新特性之字节码缓存和内置服务器
Aug 11 PHP
浅谈php调用python文件
Mar 29 PHP
解决Laravel 不能创建 migration 的问题
Oct 09 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 #PHP
PHP实现的多维数组去重操作示例
Jul 21 #PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 #PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 #PHP
ThinkPHP 3使用OSS的方法
Jul 19 #PHP
php命令行写shell实例详解
Jul 19 #PHP
php工具型代码之印章抠图
Jul 18 #PHP
You might like
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
浅谈php冒泡排序
2014/12/30 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python编程在flask中模拟进行Restful的CRUD操作
2018/12/28 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
ASP.NET Core中的配置详解
2021/02/05 Python
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
类的返射机制中的包及核心类
2016/09/12 面试题
专科毕业生就业推荐信
2013/11/01 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
介绍长城的导游词
2015/01/30 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
集结号观后感
2015/06/08 职场文书
使用css样式设计一个简单的html登陆界面的实现
2021/03/30 HTML / CSS