文档章节

PHPcms使用七牛存储图片文件

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

暂无文章

MySQL面试题集锦

什么是数据库索引?索引有哪几种类型?什么是最左前缀原则?索引算法有哪些?有什么区别? 索引是对数据库表中一列或多列的值进行排序的一种结构。一个非常恰当的比喻就是书的目录页与书的正...

老道士
10分钟前
0
0
使用 LogStash 归集日志

elastic 官网: https://www.elastic.co/ 为了便于集中查看多台主机的业务日志,使用 Filebeat, Redis, Logstash的方式进行收集: (1) Filebeat 监控日志文件的变化, 将新增部分写入redis中, 每...

ouhoo
14分钟前
0
0
java序列化(六) - protostuff序列化

添加依赖 <dependency> <groupId>io.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.5.9</version> </de......

晨猫
20分钟前
0
0
Ceph学习笔记1-Mimic版本多节点部署

特别说明: 本方法也可以用于单节点部署,只部署一个Monitor(只是会形成单点故障而已),最低要求是使用两个分区创建2个OSD(因为默认最小副本是2);如果不需要使用CephFS,则可以不部署M...

LastRitter
23分钟前
0
0
923. 3Sum With Multiplicity - LeetCode

Question 923. 3Sum With Multiplicity Solution 题目大意: 给一个int数组A和一个目标值target,求满足下面两个条件的组合个数,其中i,j,k分别为数组的索引 i<j<k target = A[i] + A[j] + A[k...

yysue
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部