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: ...
随机推荐
- Log4j2日志技术总结
前言 现在流行是SLF4j和Log4j2组合的日志技术,但为了日志技术归类,故前因后果都将做一下介绍. 市场上流行的日志框架 JUL java util logging Java开发团队开发,Jdk原 ...
- JAVA之容器(转)
一.概览 容器主要包括 Collection 和 Map 两种,Collection 存储着对象的集合,而 Map 存储着键值对(两个对象)的映射表. Collection 1. Set TreeSe ...
- bom-offset
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 代理模式应用-AOP事务(转)
https://jinnianshilongnian.iteye.com/blog/14872351.预备知识 aop概念请参考[http://www.iteye.com/topic/1122401] ...
- drop、delete和truncate三者的区别
相同点:1.truncate和不带where子句的delete.以及drop都会删除表内的数据.2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交.不同点:1. trunc ...
- rsync 远程同步部署——上下行同步
rsync 远程同步部署--上下行同步 1.rsync (Remote Sync,远程同步) : 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用 ...
- netty系列之:真正的平等–UDT中的Rendezvous
目录 简介 建立支持Rendezvous的服务器 处理不同的消息 节点之间的交互 总结 简介 在我们之前提到的所有netty知识中,netty好像都被分为客户端和服务器端两部分.服务器端监听连接,并对 ...
- Java中md5摘要算法的几种方法
public class MD5_Test { public static String md5_1(String oldStr) { char hexDigits[] = { '0', '1', ' ...
- 国产操作系统deepin安装与配置Node-RED环境
1.1. 测试机配置清单 部件名称 版本号 备注 处理器 Intel Core i5 3320M 显卡 自带集显 内存 8G DDR3单通道 显示插口 VGA*1,HDML*1 1.2. 系统安装及配 ...
- 帆软报表(finereport) 组合地图 保持系列名和值居中
自定义JavaScript代码,使用HTML解析 function(){ var name = this.name; var total = '<div style="width:10 ...