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

上传文件到七牛最简单的方式就是使用七牛官方最新的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>";

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

(0)

相关推荐

  • PHP整合七牛实现上传文件

    七牛支持抓取远程图片 API,用 access_key + secret_key + url 生成 access_token, 把 access_token 加在 header 里,然后向 post url 就完成上传了. Sample code: <?php /* * * @desc URL安全形式的base64编码 * @param string $str * @return string */ function urlsafe_base64_encode($str){ $find = ar

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

    上传文件到七牛最简单的方式就是使用七牛官方最新的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:

  • php+ajax实现异步上传文件或图片功能

    本文为大家分享了ajax异步上传文件或图片功能的具体代码,供大家参考,具体内容如下 //html代码 <form enctype="multipart/form-data" id="upForm"> <input type="file" name="file" ><br><br> <input type="button" value="提交&q

  • TP3.2批量上传文件或图片 同名冲突问题的解决方法

    本文实例为大家分享了TP3.2批量上传文件或图片的具体代码,并解决了同名冲突问题,供大家参考,具体内容如下 1.html <form action="{:U('Upload/index')}" enctype="multipart/form-data" method="post" > <p><input type="file" id="file3" name="ID[

  • yii使用activeFileField控件实现上传文件与图片的方法

    本文实例讲述了yii使用activeFileField控件实现上传文件与图片的方法.分享给大家供大家参考,具体如下: yii框架提供了activeFileField控件来完成上传文件(当然也包括了上传图片)的操作,下面介绍yii的activeFileField使用方法. 1.函数原型: 复制代码 代码如下: public static string activeFileField(CModel $model, string $attribute, array $htmlOptions=array

  • JS中使用FormData上传文件、图片的方法

    关于FormData XMLHttpRequest Level 2添加了一个新的接口  ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XMLHttpRequest的 send( ) 方法来异步提交表单与普通的ajax相比,使用FormData的最大优点就是可以异步上传二进制文件 FormData对象 FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台. 在使用ajax提交时,使用F

  • 微信小程序实现云开发上传文件、图片功能

    目录 一.前言 二.功能简介 1.选择微信聊天记录中的文件 2.选择本地相册/拍照图片 3.上传功能 三.实现代码 1.选择聊天文件函数(js) 2.选择相册函数(js) 3.上传文件函数(js) 4.调用示例 4-1.云存储新建文件夹 4-2.完整调用代码 4-3.实现效果 四.结语 一.前言 今天的博客所实现的功能很简单,但是也很常用. 本文将这常用的代码进行了封装,可以放入自己utils类中使用,加快开发速度. 实现的功能有两个: 一.选择微信聊天文件并上传. 二.选择本地相册/拍摄图片上

  • vue+springboot上传文件、图片、视频及回显到前端详解

    目录 效果图 设计逻辑 数据库表 前端vue html js代码 前端思路 储存文件信息 上传文件对象 后端上传下载代码 完整代码 workinfo.vue SubmitHomeworkController 总结 效果图 预览: 设计逻辑 数据库表 前端vue html <div class="right-pannel"> <div class="data-box"> <!--上传的作业--> <div style=&quo

  • eWebEditor 上传文件提示格式不正确的解决方法

    原来是在系统上出了问题.是2003的IIS出现了问题,因为是2003的系统,它对ASP的上传文件做出了200K的限制,解决问题方法如下 : 先打开:Internet 信息服务(IIS)管理器 (本地计算机 )---- 属性 ----允许直接编辑配置数据库(N) 一定要勾先"允许直接编辑配置数据库(N)" 然后在 服务 里关闭iis admin service服务 找到windows\system32\inetsrv下的metabase.xml, 用计事本打开metabase.xml,找

  • 用批处理上传文件到ftp目录下的实现方法

    为了快速将项目中开发的补丁程序通过ftp快速上传到linux下,感觉每次用flashFxp等工具麻烦),写了个简单的批处理,与大家分享一下. 将以下代码保存为.bat格式的文件,每次将要上传的补丁保存在规定的本地目录中,只要双击执行此文件就能上传到你的指定目录上. 说明: 192.168.1.1 ftp ip 地址 21 端口 username 用户名 password 密码 temp.txt 保存ftp信息的临时文件,上传后删除 C:\Documents and Settings\user\桌

  • php上传文件并存储到mysql数据库的方法

    本文实例讲述了php上传文件并存储到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 下面的代码分别用于创建mysql表和上传文件保存到mysql数据库 创建mysql表: <?php $con = mysql_connect("localhost", "", ""); mysql_select_db("w3m"); $sql = "CREATE TABLE updfiles (" . &

随机推荐