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