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 相关文章推荐
dedecms防止FCK乱格式化你的代码的修改方法
Mar 17 PHP
PHP面向对象分析设计的经验原则
Sep 20 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
php curl请求信息和返回信息设置代码实例
Apr 27 PHP
PHP通过API获取手机号码归属地
May 28 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
php常用字符函数实例小结
Dec 29 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
JQuery 选择器 xpath 语法应用
2010/05/13 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python数据结构之列表和元组的详解
2017/09/23 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
python 实现任务管理清单案例
2020/04/25 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
会话Bean的种类
2013/11/07 面试题
安全生产中长期规划实施方案
2014/02/21 职场文书
学前教育专业求职信
2014/09/02 职场文书
庆六一开幕词
2015/01/29 职场文书
导游词之江西赣州
2019/10/15 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
MSSQL基本语法操作
2022/04/11 SQL Server