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,已做简单配置和瘦身,如有兴趣,可以下载使用。
PHP编程安全的五点建议 下一篇 >>
- 正在加载用户留言,请稍后~