文档章节

PHPcms使用七牛存储图片文件

豆花饭烧土豆
 豆花饭烧土豆
发布于 2016/02/01 04:55
字数 643
阅读 33
收藏 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

共有 人打赏支持
豆花饭烧土豆
粉丝 15
博文 355
码字总数 93005
作品 0
深圳
私信 提问

暂无文章

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
10分钟前
0
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
27分钟前
1
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
1
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部