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
PHP 读取文件的正确方法
Apr 29 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
php跨域cookie共享使用方法
Feb 20 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
php编程中echo用逗号和用点号连接的区别
Mar 26 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 PHP
Laravel配合jwt使用的方法实例
Oct 25 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
实例介绍PHP的Reflection反射机制
2014/08/05 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python分布式计算dispy的使用详解
2019/12/22 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
英国豪华真皮和布艺沙发销售网站:Darlings of Chelsea
2018/01/05 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
港湾网络笔试题
2014/04/19 面试题
金融管理应届生求职信
2014/02/20 职场文书
三年级评语大全
2014/04/23 职场文书
助理政工师申报材料
2014/06/03 职场文书
篮球比赛口号
2014/06/10 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
国庆65周年演讲稿:回首往昔,展望未来
2014/09/21 职场文书
药店采购员岗位职责
2014/09/30 职场文书
士兵突击观后感
2015/06/16 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书