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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
PHP 数字左侧自动补0
Mar 31 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
Jun 27 PHP
PHP制作万年历
Jan 07 PHP
分享PHP守护进程类
Dec 30 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
php添加数据到xml文件的简单例子
Sep 08 PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
PhpSpreadsheet设置单元格常用操作汇总
Nov 13 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
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
jQuery select控制插件
2009/08/17 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
详解vue组件基础
2018/05/04 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
js实现内置计时器
2019/12/16 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
放弃 Python 转向 Go语言有人给出了 9 大理由
2017/10/20 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
Python切片工具pillow用法示例
2018/03/30 Python
python基础教程之while循环
2019/08/14 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
用python对oracle进行简单性能测试
2020/12/05 Python
用python批量下载apk
2020/12/29 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
自荐信格式简述
2014/01/25 职场文书
董事长秘书职责
2014/01/31 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL