文档章节

PHPcms使用七牛存储图片文件

豆花饭烧土豆
 豆花饭烧土豆
发布于 2016/02/01 04:55
字数 643
阅读 27
收藏 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
博文 352
码字总数 92353
作品 0
深圳

暂无文章

Java IO类库之PrintStreamWriter

* A <code>PrintStream</code> adds functionality to another output stream, * namely the ability to print representations of various data values * conveniently. Two other fea......

老韭菜
55分钟前
0
0
qduoj~前端~二次开发~笔记

青岛大学qdu的onlinejudge是js的写的前端,框架是vue.js,在nodejs上部署运行,其实整体运行还是建立在docker的容器虚拟环境里,这里暂时不需要docker。安装环境是Ubuntu14-64bit 1.安装一大...

虚拟世界的懒猫
59分钟前
6
0
ConcurrentHashMap源码解读

部分内容转自:http://jiabinyuan.xyz/#/app/archive/detail/25 内部结构 内部采用了segment结构,每一个segment相当于一个hashtable。看下面的结构图: 从图的结构我们可以了解到,Concurr...

edwardGe
今天
1
0
Ubuntu终端Tab键自动补全

打开 /etc/bash.bashrc,找到下列代码,取消注释。 #enable bash completion in interactive shells#if ! shopt -oq posix; then# if [-f /usr/share/bash-completion/bash_compl......

大熊猫
今天
0
0
polipo socks5代理转http代理

天朝的网络,哎~ 装个 yarn 都时而会卡 假设在SSlocal 已经装好运行的前提下,来安装设置 polipo sudo apt-get install polipo sudo vim /etc/polipo/config 追加下列配置内容,并保存 socksP...

纯洁徐
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部