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: ...
随机推荐
- bom案例5-简单动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- bom-简单动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Docker prefereces
https://docs.docker.com/docker-for-mac/#preferences-menu docker 的镜像命令需要抽时间了解
- HGAME-week2-web-wp
hgame第二周总结 1.webpack-engine 我不懂,但是真的刚打开就出来了,一脸懵逼(wp说是sourcemap没关 hgame{D0nt_f0r9et_2_ClOs3_S0urce_m@ ...
- Typora软件的使用
Typora软件 一.简介 1.该软件编写文档采用markdown格式是目前最为频繁的一种格式 2.该软件生成的文档后缀名是.md结尾 3.下载网址 https://www.typora.io/ 二. ...
- 我们一起来学Shell - shell的循环控制
文章目录 Shell 循环之 for 语句 Shell 循环之 while 语句 Shell 循环之 until 语句 Shell 循环控制 break指令 continue 指令 exit 指令 s ...
- CentOS7 下 ldap 部署
环境准备 # 关闭防火墙以及selinux,生产环境中,以实际需求为准 [root@localhost ~]# hostnamectl --static set-hostname ldap-serve ...
- InfluxDB 2.x Open Source Time Series Database
1. 说明 目前,大家普遍还在采用 InfluxDB 1.x 的版本,官方2.x的版本已经发布一段时间了, 其主推flux语言且自带前端炫酷图表. 2. 官方网站 https://www.influx ...
- 日行一算(Table-文字输出)
题目 +---+---+---+ | | | | +---+---+---+ | | | | +---+---+---+ | | | | +---+---+---+ 题目描述 上图是一个Mysql查询 ...
- uni-app支付宝支付成功代码处理,获取trade_no数据
uni-app支付宝支付成功以后返回很多代码,我简单梳理一下,提出trade_no数据 uni.requestPayment({ provider: 'alipay', orderInfo: orde ...