利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法
一、准备工作
1.注册七牛云账号
2.选择对象储存->创建空间->设置为公开
3.在config配置文件中添加以下代码
'UPLOAD_FILE_QINIU' => array (
'maxSize' => 5 * 1024 * 1024,//文件大小
'rootPath' => './根目录/',
'savePath' => '子目录',// 文件上传的保存路径
'saveName' => array ('uniqid', ''),
'exts' => ['zip', 'rar', 'txt', 'doc', 'docx', 'xlsx', 'xls', 'pptx', 'pdf', 'chf'], // 设置附件上传类型
'driver' => 'Qiniu',//七牛驱动
'driverConfig' => array (
'secretKey' => '<这里填七牛SK>',
'accessKey' => '<这里填七牛AK>',
'domain' => '<这里填七牛提供的域名>',
'bucket' => '<空间名称>',
)
),
二、利用thinkPHP上传文件到七牛云
1.新建upload控制器->uploadFile方法
public function uploadTicketFile()
{
$setting = C('UPLOAD_FILE_QINIU'); $Upload = new \Think\Upload($setting); $info = $Upload->upload($_FILES); $path = str_replace('/','_',$info['file']['savepath']); $filename = $path.$info['file']['savename'];//七牛云保存的文件名称 if(!$info)
{
$data = ['status'=>0,'msg'=>'上传失败,'.$Upload->getError()];
}
else
{
$data = [
'status'=>1,
'msg' => '上传成功',
'name' => $_FILES['file']['name'],
'size' => $_FILES['file']['size'],
'cname' => $filename,
'type' => $info['file']['ext'],
'link' => $info['file']['url'],
];
} echo json_encode($data); exit;
}
三.利用thinkPHP删除七牛云上的文件
1.upload控制器->新建delFile方法
public function delFile()
{
$setting = C('UPLOAD_FILE_QINIU'); $file_name = I('post.file_name');//要删除的文件名称 $Qiniu = new Think\Upload\Driver\Qiniu\QiniuStorage($setting['driverConfig']); $result = $Qiniu->del($file_name); $error = $Qiniu->errorStr;//错误信息 if(is_array($result) && !($error))
{
$data = ['status'=>1,'msg'=>'删除文件成功'];
}
else
{
$data = ['status'=>0,'msg'=>'删除文件失败,'.$error];
} echo json_encode($data); exit;
}
最后,若有不足之处,请勿喷,欢迎指正!
利用ThinkPHP自带的七牛云驱动上传文件到七牛云以及删除七牛云文件方法的更多相关文章
- angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传
step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...
- 图床工具PicGO实现七牛云图片上传
图床工具PicGO实现七牛云图片上传 我们在写博客或者网络文章时经常需要上传图片.目前最有名气的图床工具就是PicGO. 简单的界面,完整的功能,在相册里也能直接复制markdown图片链接.一直深受 ...
- 七牛云覆盖上传 php
使用七牛云过程中遇到了需要上传覆盖的情况,最终解决,分享给大家. 七牛云sdk上传示例中是这样写的 <?php require_once 'path_to_sdk/vendor/autoload ...
- C#使用七牛云存储上传下载文件、自定义回调
项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现. 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了. 一个 ...
- 一个命令完成[打包+同步七牛cdn+上传服务器]
webpack+gulp+qshell+npm-scripts实现一个命令完成[打包+同步cdn+上传服务器] 说明 由于我们用的七牛云存储,所以cdn也是走的七牛,所以并不适用于其他的cdn,但是思 ...
- ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64) 七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/ ...
- tp5.0整合七牛云图片上传
转:https://www.cnblogs.com/adobe-lin/p/7699638.html 这里以上传图片为例 上传其他文件也是大同小异 使用composer安装gmars/tp5-qini ...
- 七牛云存储上传自有证书开启https访问
虽然七牛云存储也提供免费SSL证书申请,但我就喜欢用其他平台申请的,于是在腾讯云申请了免费SSL证书,正准备在七牛上传,弹出的界面却让我傻了眼,如下图所示: 腾讯免费SSL证书提供了不同服务器环境的版 ...
- Android客户端实现七牛云存储文件上传
1.简单文件上传 上传模型如下. 1.1获得Token 不管是简单文件上传,还是分片上传.断点续传 都需要首先访问服务器,以获得上传凭证信息Token..用于测试时,可以用本地模拟Token信息(有 ...
随机推荐
- [转]从JVM角度看线程安全与垃圾收集
线程安全 Java内存模型中,程序(进程)拥有一块内存空间,可以被所有的线程共享,即MainMemory(主内存):而每个线程又有一块独立的内存空间,即WorkingMemory(工作内存).普通情况 ...
- DevExpress ASPxSplitter ClientSideEvents-PaneExpanded 时间用法
在webform中的devexpress aspxsplitter中套用了jquery-easyui的 tabs id=tt <div id="tt" class=" ...
- lumen可以使用laravel-ide-helper
1.laravel-ide-helper 地址https://github.com/barryvdh/laravel-ide-helper 在项目根目录执行composer安装命令 composer ...
- django中tinymce添加图片上传功能
主要参考以下: https://pixabay.com/en/blog/posts/direct-image-uploads-in-tinymce-4-42/ http://blog.csdn.net ...
- 【SQL篇章】【SQL语句梳理 :--基于MySQL5.6】【已梳理:ALTER TABLE解析】
ALTER TABLE 解析实例: SQL: 1.增加列 2.增加列,调整列顺序 3.增加索引 4.增加约束 5.增加全文索引FULL-TEXT 6.改变列的默认值 7.改变列名字(类型,顺序) 8. ...
- [转]Shell中read的常用方式
原文:Linux Shell Scripting Tutorial V2.0 read命令的语法: read -p "Prompt" variable1 variable2 var ...
- WIN 下的超动态菜单(一)
WIN 下的超动态菜单(一)介绍 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/ ...
- Javascript parseFloat内部解析规则
这是由小习发的一个问题引起的讨论,结束后大家各自加深了多parseFloat的理解. 如下 16进制数0x10使用parseFloat转成数字,结果为0.潜意识期望的结果是16. 有人说脑残,16进制 ...
- DedeCms文档关键词替换,优先替换长尾关键词
本文教大家:dedecms文档关键词维护之关键词出现多次,只给出现的第一个加链接的 举例:当文章中出现了一百次台历时,按官方的原理,他会给一百个台历都加上链接的.dedecms这如何是好? 解决方法( ...
- 网络错误定位案例 ICMP host *** unreachable - admin prohibited
1. 环境 一台物理服务器 9.115.251.86,上面创建两个虚机,每个虚机两个网卡: vm1:eth0 - 9.*.*.232 eth1:10.0.0.14 vm2: eth0 - 9.8.*. ...