小笙's Blog

SAE平台整合UEditor2013.04.21 15:07

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码,功能丰富,使用起来也比较方便。大部分代码为前端代码,所以整合到SAE平台,只需要修改附件、图片上传处理的PHP处理脚本。这里选用的是UEditor最新ueditor1_2_5_1-utf8-php版本。

打开php/fileUp.php文件,此文件为文件上传处理文件,将里边代码全部注释,只需添加以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
$file=new SaeStorage();
$types=explode('.',$_FILES['upfile']['name']);
$fileType=strtolower($types[count($types)-1]);
//文件重命名规则 年月日时分秒 MD5加密后取前20位,加上类型共24位
//如果您的文件重命名不是此规则或不需重命名,请注释此行代码
$newFileName=substr(md5(date('YmdHis')), 0, 20).'.'.$fileType;
//文件将被上传至SAE的名为‘file’的storage下
//如果您的storage名不是'file',修改此处即可
$url=$file->upload('file', $newFileName, $_FILES['upfile']['tmp_name']);
//文件上传成功返回'SUCCESS',是为配合UEditor前台获取数据
$state=($url!==false)?'SUCCESS':$file->errmsg();
   
echo '{"url":"' .$url . '","fileType":"' . '.'.$fileType . '","original":"' . $_FILES['upfile']['name']. '","state":"' . $state . '"}';

此时文件即可正常上传,关于SaeStorage的使用,请看官方文档

打开php/imageUp.php文件,此文件为图片上传处理文件,注释全部代码,改为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
header("Content-Type: text/html; charset=utf-8");
include "../../../classes/db.class.php";
include "../../../classes/photos.class.php";
include "../../../classes/albums.class.php";
include "../../../config.inc.php";
$title = htmlspecialchars($_POST['pictitle'], ENT_QUOTES);
$file=new SaeStorage();
$types=explode('.',$_FILES['upfile']['name']);
$fileType=strtolower($types[count($types)-1]);
//文件重命名规则 年月日时分秒 MD5加密后取前20位,加上类型共24位
//如果您的文件重命名不是此规则或不需重命名,请注释此行代码
$newFileName=substr(md5(date('YmdHis')), 0, 20).'.'.$fileType;
$url=$file->upload('image', $newFileName, $_FILES['upfile']['tmp_name']);
$img=new SaeImage();
$f = new SaeFetchurl();
$img->setData($f->fetch($url));
//当图片宽度大于670时,等比缩放至宽度为670
//$attr=$img->getImageAttr();
//if($attr[0]>670)
//{
//    $img->resize(670);  
//}  
//在图片右下角添加文字水印
//$img->annotate('@越前', 0.5, SAE_SouthEast, array("name"=>SAE_MicroHei, "size"=>12, "weight"=>150, "color"=>"blue"));
$img->improve();
if($img->exec()!==false)
{
   
   if($file->write('image', $newFileName, $img->exec())!==false)
   {
       //图片上传成功后,将文件名写入到数据库photos表中
       //并更新相册中图片的数量
       /*$photos = new Photos();
       $photos -> pho_insert(
           array(
               'photo_name'        => $newFileName,
               'photo_desc'        => $title,
               'photo_album'       => '博文配图',
               'photo_upload_time' => time()
           )
       );
       $albums = new Albums();
       $albums -> alb_update_count('博文配图');
       */
   }
}
$state=($url!==false)?'SUCCESS':$file->errmsg();
echo "{'url':'" . $url . "','title':'" . $title . "','original':'" . $_FILES['upfile']['name'] . "','state':'" . $state . "'}";

此时图片即可正常上传,关于SaeImage的使用,请看官方文档

关于本博客使用UEditor,已做简单配置和瘦身,如有兴趣,可以下载使用。

ue.rar


  • 正在加载用户留言,请稍后~
点击这里取消回复

  • 请选择邮箱类型
  • @qq.com
  • @163.com
  • @sina.com
  • @126.com
  • @vip.qq.com
  • @sina.com.cn

:love: :kiss: :twist: :top: :shake: :bye: :han: :sleep: :lula: :rou: :happy: