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生成文件
Jan 15 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
基于initPHP的框架介绍
Apr 18 PHP
PHP中strtr字符串替换用法详解
Nov 26 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
PHP实现图片上传并压缩
Dec 22 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP遍历目录文件的常用方法小结
Feb 03 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 PHP
PHP7移除的扩展和SAPI
Mar 09 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
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
PHP中“=&gt;
2019/03/01 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
js继承的实现代码
2010/08/05 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python的多维空数组赋值方法
2018/04/13 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python视频按帧截取图片工具
2019/07/23 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
Python中常见的数制转换有哪些
2020/05/27 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
学术会议邀请函范文
2014/01/22 职场文书
初三班主任寄语大全
2014/04/04 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
openstack云计算keystone组件工作介绍
2022/04/20 Servers
Golang 结构体数据集合
2022/04/22 Golang
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript