Umeditor提供了一个上传文件通用的类Uploader.class.php, 首先将Uploader.class.php类放入CI框架的libraries目录下更名为Myuploader.php然后将该类提供的构造方法替换掉

本来的构造方法:

  1. /**
  2. * 构造函数
  3. * @param string $fileField 表单名称
  4. * @param array $config 配置项
  5. * @param bool $base64 是否解析base64编码,可省略。若开启,则$fileField代表的是base64编码的字符串表单名
  6. */
  7. public function __construct($fileField, $config, $type = "upload")
  8. {
  9. $this->fileField = $fileField;
  10. $this->config = $config;
  11. $this->type = $type;
  12. if ($type == "remote") {
  13. $this->saveRemote();
  14. } else if($type == "base64") {
  15. $this->upBase64();
  16. } else {
  17. $this->upFile();
  18. }
  19. $this->stateMap['ERROR_TYPE_NOT_ALLOWED'] = iconv('unicode', 'utf-8', $this->stateMap['ERROR_TYPE_NOT_ALLOWED']);
  20. }

替换成:

  1. /**
  2. * 构造函数
  3. * @param string $fileField 表单名称
  4. * @param array $config  配置项
  5. * @param bool $base64  是否解析base64编码,可省略。若开启,则$fileField代表的是base64编码的字符串表单名
  6. */
  7. public function __construct()
  8. {
  9. }
  10. public function Init($fileField , $config , $base64 = false)
  11. {
  12. /*var_dump($fileField);
  13. var_dump($config);exit;*/
  14. $this->fileField = $fileField;
  15. $this->config = $config;
  16. $this->stateInfo = $this->stateMap[ 0 ];
  17. $this->upFile( $base64 );
  18. }

然后创建上传文件的方法:

  1. /*Ueditor_model*/
  2. class Ueditor_model extends CI_Model {
  3. function __construct() {
  4. parent::__construct();
  5. $this->load->library("myuploader");
  6. }
  7. function upload_image(){
  8. $dir = 'source/uploads/images/ueditor_images/';
  9. if (!is_dir($dir)) {
  10. $res = mkdir($dir, 0755, true);
  11. }
  12. //上传配置
  13. $config = array(
  14. "savePath" => $dir ,             //存储文件夹
  15. "maxSize" => 512,                   //允许的文件最大尺寸,单位KB
  16. "allowFiles" => array( ".gif" , ".png" , ".jpg" , ".jpeg" , ".bmp" )  //允许的文件格式
  17. );
  18. $config[ "savePath" ] = $dir;
  19. $this->myuploader->init("upfile", $config, $base=false);
  20. $info = $this->myuploader->getFileInfo();
  21. return $info;
  22. }
  23. }
  24. /*controller*/
  25. class Uploads_files extends CI_Controller {
  26. function goods_edition_upload_img() {
  27. $info = $this -> ueditor_model -> upload_image();
  28. echo json_encode($info);
  29. }
  30. }

最后一步到umeditor.config.js中修改上传文件方法

    1. /**
    2. * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
    3. */
    4. window.UMEDITOR_CONFIG = {
    5. //为编辑器实例添加一个路径,这个不能被注释
    6. UMEDITOR_HOME_URL : URL
    7. //图片上传配置区
    8. ,imageUrl:URL + ""             <span style="white-space:pre">          </span>//图片上传提交地址
    9. ,imagePath:URL + ""                     <span style="white-space:pre"> </span>//图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
    10. ,imageFieldName:"upfile"                   <span style="white-space:pre">  </span>//图片数据的key,若此处修改,需要在后台对应文件修改对应参数

转:http://blog.csdn.net/demon3182/article/details/41915283

CI框架+Umeditor上传图片配置信息的更多相关文章

  1. nginx location匹配顺序及CI框架的nginx配置

    Nginx location匹配顺序如下: 用前缀字符串定义的location规则对URI进行匹配测试. =号定义了精确的前缀字符串匹配,如果发现精确匹配则使用当前规则.否则继续下一步匹配. 匹配其它 ...

  2. CI框架伪静态化配置

    CI框架伪静态化配置 伪静态化,即:去掉入口的index.php, 在url后面加上 .html 后缀 CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/ ...

  3. 深入理解MyBatis框架的的配置信息

    面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...

  4. 在CI框架中的配置整合amfphp

    之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录: 一. 安装CI框架: 1.  搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wa ...

  5. 搭建Spring相关框架后,配置信息文件头部出现红色小×错误。

    问题描述: 在搭建关于Spring相关框架的时候,在applicationContext.xml配置文件和servlet-mvc.xml配件文件的头部会出现一个红色的小X错误: 错误描述: Refer ...

  6. CI框架源码阅读笔记3 全局函数Common.php

    从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap ...

  7. CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

    最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时 ...

  8. CI框架源代码阅读笔记3 全局函数Common.php

    从本篇開始.将深入CI框架的内部.一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说.全局函数具有最高的载入优先权.因此大多数的框架中BootStrap ...

  9. 《玩转Django2.0》读书笔记-Django配置信息

    <玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...

随机推荐

  1. 免费SSL证书申请 2018年至简教程

    Let’s Encrypt是国外一个公共的免费SSL项目,由 Linux 基金会托管,它的来头不小,由Mozilla.思科.Akamai.IdenTrust和EFF等组织发起,目的就是向网站自动签发和 ...

  2. 【洛谷】NOIP2018原创模拟赛DAY1解题报告

    点此进入比赛 T1:小凯的数字 题意:给定q个l,r,求l(l+1)(l+2)...(r-1)r模9的结果 很显然,这是道考验数(运)学(气)的题目 结论:输出\((l+r)*(r-l+1)\over ...

  3. 洛谷 P1412 经营与开发 解题报告

    P1412 经营与开发 题目描述 \(4X\)概念体系,是指在\(PC\)战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"\(EX\)"为开头的英语单词. \(eXplo ...

  4. 解题:HNOI 2013 Cards

    题面 除了不洗牌以外,每种洗牌方式的每个循环里的颜色必须一样,然后大力背包一下就好了.最后记得把不洗牌的方案也算进去 #include<cstdio> #include<cstrin ...

  5. 8.30 牛客OI赛制测试赛1 F题 子序列

    题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘积相乘的结果 输入描述: 第一行一个整数T,表示数据组数.对于每组数据,第一行两个整数N,k,含义如题所 ...

  6. HDU 6153 扩展kmp

    A Secret Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Others)Total ...

  7. 为什么使用消息队列,为什么使用RabbitMQ、springAMQP

    1.为什么使用消息队列? 2.为什么使用RabbbitMQ? 3.为什么使用spring AMQP?

  8. SSO系统的实现

    当一个网站系统比较大型的时候,我们通常采用面向服务的编程,采用分布式的编程.各个子系统共同来实现一个大的系统,这时候登录注册功能的实现也面临着一些问题. 一.WHAT? SSO是什么? sso是单点登 ...

  9. valgrind使用指南

    http://note.youdao.com/noteshare?id=5de9c049ccdb1defdc4368db83813dd3

  10. VBA:Excel使用SQL进行查询

    Sub Query() Dim Conn As Object, Rst As Object Dim strConn As String, strSQL As String Dim i As Integ ...