文档章节

PHPcms使用七牛存储图片文件

豆花饭烧土豆
 豆花饭烧土豆
发布于 2016/02/01 04:55
字数 643
阅读 24
收藏 0
点赞 1
评论 0

不知道现在有多少人使用第三方云存储,我反正是在云存储一出来就开始快速使用了。因为第三方云存储的优势太大了。无论是自己开发,还是使用现成的cms,通过第三方云存储都可以达到减轻服务器压力,更多的个性化功能,更高的安全性,更快的速度。

我开始用云存储是自己开发的网站,是一个音乐外链的网站。可以快速的实现大量文件快速上传,下载。现在使用phpcms做资讯跟下载类网站同样非常适用。可以将所有的图片跟文件资源放到第三方云存储上面。第三方云存储我最开始用的是又拍云,后面一直用的是七牛。

phpcms是一款非常非常优秀的cms程序,用起来非常好用。这里跟大家分享一下phpcms使用七牛云存储放图片跟文件的方。图片是直接通过编 辑器集成,文件是通过客户端上传之后再在网站上面进行添加。下载的时候使用私有文件的方式可以很好的解决盗链的问题。七牛的网站地址 https://portal.qiniu.com/signup?code=3lp25w8dqbfpt

phpcms集成七牛上传图片的方法:

第一步:修改phpcms自带的ckeditor里面的config.js文件,

config.filebrowserImageUploadUrl = 'http://localhost/upload.php?type=img'; 
config.filebrowserFlashUploadUrl = 'http://localhost/upload.php?type=flash';

只修改第一个也可以。

在根目录创建一个upload.php文件如下

<?php 
if(!is_uploaded_file($_FILES['upload']['tmp_name'])) 

echo '没有上传文件'; 
exit; 

require_once("qiniu/io.php"); //载入七牛的SDK文件
require_once("qiniu/rs.php"); //载入七牛的SDK文件
$bucket = "你的空间名称"; 
$filename = $_FILES['upload']['name']; //文件名
$key1 = $filename; 
$accessKey = '你的key'; 
$secretKey = '你的key'; 

$file = $_FILES['upload']['tmp_name']; 
Qiniu_setKeys($accessKey, $secretKey); 

$putPolicy = new Qiniu_RS_PutPolicy($bucket); 
$upToken = $putPolicy->Token(null); 
$putExtra = new Qiniu_PutExtra(); 
$putExtra->Crc32 = 1; 
list($ret, $err) = Qiniu_PutFile($upToken, $key1, $file, $putExtra); 
echo "\n\n====> Qiniu_PutFile result: \n"; 
if ($err !== null) { 
var_dump($err); 
} else { 
$fn=$_GET['CKEditorFuncNum']; 
$str='<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction('.$fn.', \'你的域名'.$filename.'\', \'上传成功\');</script>'; 
exit($str); 
}

大文件上传不建议用这种方式了,上传容易失败。可以使用他们提供的工具可以很方便的上传文件。下载的时候可以用公共的也可以用私有的方式,具体的请参考他们的文档。

本文成功的示例网站http://www.xinchaoyue.com/,本网站文章中图片全部使用七牛存储,下载文件也是通过七牛存储,可以参考。

本文转载自:http://my.oschina.net/63a/blog/490447

共有 人打赏支持
豆花饭烧土豆
粉丝 14
博文 339
码字总数 83750
作品 0
深圳

暂无相关文章

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 10分钟前 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 14分钟前 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 26分钟前 ⋅ 0

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 46分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 今天 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 今天 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部