tp 七牛云文件上传
1.先创建好七牛云账号和存储空间
- 申请七牛云账号;
- 创建七牛云存储空间;
- 在账号的秘钥管理里面创建秘钥 获取AccessKey / SecretKey;
2.集成PHP-SDK
七牛云开发文档:https://developer.qiniu.com/kodo
(一)Composer 安装 SDK(推荐使用)
进入cmd 终端,切换目录到你部署项目的根目录下,执行以下命令即可:composer require qiniu/php-sdk
(二)传统方式安装
进入七牛云,下载官方 PHP-SDK,将下载下来的SDK解压,放入项目第三库文件(vendor 或者 extend)
3.实战开发
在之前要引入七牛云
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
HTML页面代码:

<form action="http://www.examtest.com/pyg/admin/save" method="post" class="form form-horizontal" id="form-add" enctype="multipart/form-data"> //文件上传
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2"><span class="c-red"></span>logo图片:</label>
<div class="formControls col-xs-8 col-sm-9">
<div class="uploader-thum-container">
<div id="fileList" class="uploader-list"></div>
<input type="file" id="goods_logo" name="goods_logo" value="">
</div>
</div>
</div> </form>
控制器代码:
public function save(Request $request)
{
// 七牛云文件上传
// 接受文件值
$img = $_FILES['goods_logo'];
// 1.截取文件的后缀
$suffix = substr($img['name'], -4, 4);
//2.获取文件的临时路径
$tmp_name = $img['tmp_name'];
//3:书写上传文件的新的文件名称(自定义)拼接,截取的后缀;
$newFilePath = md5($tmp_name) . time() . rand(1, 999) . $suffix;
print_r($newFilePath);
//4:区七牛云里获取自己的秘钥
$AccessKey = '7Gu_5HzqSHJB3nLBz51pQN8oJBfqeGwd3kQ-vCNX';
$SecretKey = 'frzqcOjOhL55eIMXQSLIfO_apMHrs0fr8jjklKDt';
// 5:将获取的的秘钥实例化
$auth = new Auth($AccessKey, $SecretKey);
// 6:设置将文件上传的空间名称
$spaceName = 'yanbing123456789';
//7:要上传的空间 生成上传Token
$token = $auth->uploadToken($spaceName);
//8: 构建 UploadManager 对象
$uploadMgr = new UploadManager();
//9: 调用 UploadManager 的 putFile 方法进行文件的上传。
list($ret, $err) = $uploadMgr->putFile($token, $newFilePath, $tmp_name);
//10:进行判断
if ($err != null) {
echo '文件上传失败';
/* return json([
'msg' => '上传失败',
'code' => 201,
'result' => ''
]);
*/
}
//11:空间域名进行拼接新的文件路径
$imageUrl = 'http://qzevlue2n.hn-bkt.clouddn.com/' . $newFilePath;
echo '文件上传成功';
/* return json([
'msg' => '上传成功',
'code' => 200,
'result' => ''
]);
*/
}



tp 七牛云文件上传的更多相关文章
- laravel 7七牛云文件上传
1:composer下载七牛云 composer require itbdw/laravel-storage-qiniu 2:打开 config 文件夹下的 app.php 文件,在 provider ...
- 七牛云覆盖上传 php
使用七牛云过程中遇到了需要上传覆盖的情况,最终解决,分享给大家. 七牛云sdk上传示例中是这样写的 <?php require_once 'path_to_sdk/vendor/autoload ...
- angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传
step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...
- 一、虚拟环境.二、路由配置主页与404.三、2.x路由分发.四、伪静态.五、request对象.六、FBV与CBV.七、文件上传.
一.虚拟环境 ''' 解决版本共存 1. 用pycharm选择File点击NewProject然后选择virtualenv创建一个纯净环境 2. 打开下载的目录将venv文件夹下的所有文件(纯净的环境 ...
- 图床工具PicGO实现七牛云图片上传
图床工具PicGO实现七牛云图片上传 我们在写博客或者网络文章时经常需要上传图片.目前最有名气的图床工具就是PicGO. 简单的界面,完整的功能,在相册里也能直接复制markdown图片链接.一直深受 ...
- 利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法
一.准备工作 1.注册七牛云账号 2.选择对象储存->创建空间->设置为公开 3.在config配置文件中添加以下代码 'UPLOAD_FILE_QINIU' => array ( ...
- C#使用七牛云存储上传下载文件、自定义回调
项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现. 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了. 一个 ...
- Android客户端实现七牛云存储文件上传
1.简单文件上传 上传模型如下. 1.1获得Token 不管是简单文件上传,还是分片上传.断点续传 都需要首先访问服务器,以获得上传凭证信息Token..用于测试时,可以用本地模拟Token信息(有 ...
- FineUI第七天---文件上传
文件上传的方式: 控件的一些常用属性: ButtonText:按钮文本. ButtonOnly:是否只显示按钮,不显示只读输入框. ButtonIcon:按钮图标. ButtonIconUrl: ...
随机推荐
- 控制器view生命周期
控制器View的生命周期方法:只要是控制器的生命周期方法,都是以view开头. 控制器View加载完成时调用- (void)viewDidLoad { [super viewDidLoad];} 控制 ...
- shell——mkfifo管道
转自:http://blog.sina.com.cn/s/blog_605f5b4f0101azuc.html 创建命名管道的方法为:mkfifo pipe_name. 这样就能创建一个命名的管道pi ...
- traceback.print_exc()的用法
Python使用traceback.print_exc()来代替print e 来输出详细的异常信息 [python] view plain copy try: 1/0 except Except ...
- Ubuntu20.04 PostgreSQL 14 安装配置记录
PostgreSQL 名称来源 It was originally named POSTGRES, referring to its origins as a successor to the Ing ...
- 北京太速科技-6U VPX 6槽 Full Mesh结构背板机箱
一.产品概述 Ori6UVPX6SlotFullMesh264背板机箱 为 6U VPX 6槽 Full Mesh结构,用于实现PCIE.RapidIO IO 4X Full Mesh 高速数据互联, ...
- 趣谈IO多路复用的本质
在<轻松搞懂5种IO模型>中,我发起了一个投票. 答案是[同步IO多路复用].目前,60%的朋友答对了.原因这里解释一下. 同步和异步的概念区别 同步:线程自己去获取结果.(一个线程) 异 ...
- InfluxDB 2.x Open Source Time Series Database
1. 说明 目前,大家普遍还在采用 InfluxDB 1.x 的版本,官方2.x的版本已经发布一段时间了, 其主推flux语言且自带前端炫酷图表. 2. 官方网站 https://www.influx ...
- Spring Boot Starter 理解
个人理解 快速集成,快速基础配置. 参考 深入springboot原理--一步步分析springboot启动机制(starter机制) 深入springboot原理--动手封装一个starter
- 力扣算法经典第一题——两数之和(Java两种方式实现)
一.题目 难度:简单 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数, 并返回它们的数组下标. 你可以假设每种输入只会对应一 ...
- nginx 配置ssl证书
1.443端口配置 server { listen 443 ssl; server_name www.test.com; ssl_certificate /usr/local/nginx/cert/t ...