今天项目中需要自定义图片上传的保存路径,并且不需要按照日期自动创建存储文件夹和文件名,我的ueditor版本是1.3.6。下面记录一下我配置成功的方法,如果有什么不对的地方欢迎指出,共同学习:

1:我在本地项目的根目录下新建一个文件夹,比如:upload。

2:打开ueditor/php/config.php,改成如下代码后保存:

  1. <?php
  2.  
  3. return array(
  4.  
  5. //图片上传允许的存储目录
  6. /*'imageSavePath' => array (
  7. 'upload1', 'upload2/'
  8. )*/

  9.   //图片上传允许的存储目录,可配置多个,我这里配置的是到根目录下的upload文件夹
  10. 'imageSavePath' => array (
  11. '../../upload'
  12. )
  13. );

3:打开ueditor/php/imageUp.php,加入将../../去掉的代码:

  1. 找到:$info = $up->getFileInfo(); 在这后面加入下面代码:
  2.  
  3. $info["url"]=str_replace('../../','',$info["url"]); //将../../替换掉。

4:打开ueditor/php/Uploader.class.php,这一步将修改按照日期自动创建存储文件夹的代码,修改后将不会自动生成日期文件夹:

  1. /**
  2. * 按照日期自动创建存储文件夹
  3. * @return string
  4. */
  5. private function getFolder()
  6. {
  7. $pathStr = $this->config[ "savePath" ];
  8. if ( strrchr( $pathStr , "/" ) != "/" ) {
  9. $pathStr .= "/";
  10. }
  11. //$pathStr .= date( "Ymd" ); //将这行代码注释掉
  12. if ( !file_exists( $pathStr ) ) {
  13. if ( !mkdir( $pathStr , 0777 , true ) ) {
  14. return false;
  15. }
  16. }
  17. return $pathStr;
  18. }

这里遇到一个问题:上传后路径upload后面多了一个“/”,比如:/ueditor/php/upload//1396072919176817.jpg。要去掉这个/,修改如下代码:

  1. private function upFile( $base64 )
  2. {
  3. ...
  4. //找到这行代码(大概在103行):
  5. $this->fullName = $this->getFolder() . '/' . $this->getName();
  6.  
  7. //将上面这行中的代码修改成下面这样,去掉/:
  8. $this->fullName = $this->getFolder() . $this->getName();
  9. }

5:打开ueditor/ueditor.all.min.js,这步将格式化上传文件名,先搜索“fileNameFormat”:

  1. fileNameFormat:"{time}{rand:6}"} 改成:fileNameFormat:"{filename}"}
  2. //格式化字符串的参数
  3. {filename} //会替换成文件名
  4. {rand:6} //会替换成随机数,后面的数字是随机数的位数
  5. {time} //会替换成时间戳
  6. {yyyy} //会替换成四位年份
  7. {yy} //会替换成两位年份
  8. {mm} //会替换成两位月份
  9. {dd} //会替换成两位日期
  10. {hh} //会替换成两位小时
  11. {ii} //会替换成两位分钟
  12. {ss} //会替换成两位秒
  13.  
  14. //例子:
  15. //配置项为:
  16. //fileNameFormat = "{yyyy}-{mm}-{dd}_{rand:4}_{filename}"
  17. //上传的文件名可能是这样:
  18. //"2013-12-16_7126_照片.jpg"
  19.  
  20. //配置项为:
  21. //fileNameFormat = "{time}_{rand:5}"
  22. //上传的文件名可能是这样:
  23. //"1387191121817_29461.jpg"

6:打开ueditor/ueditor.config.js,找到34行左右:

  1. //,imagePath:URL + "php/" //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
  2. //将上面的改成(这里是相对路径,可根据你自己需求修改):
  3. ,imagePath:"/"

好了,刷新上传的框架,测试上传看看吧,效果如图:

ueditor 百度编辑器 自定义图片上传路径和格式化上传文件名的更多相关文章

  1. 织梦替换ueditor百度编辑器,支持图片水印 教程

    1下载ueditor百度编辑器 2 把下载的zip解压得到ueditor文件夹,把解压到的ueditor文件夹扔进你网站的include文件夹去 3 打开 /include/inc/inc_fun_f ...

  2. ueditor 百度编辑器图片上传 接 node.js 及一些前端自定义

    百度编辑器 用node.js 做服务端 demo 大神已整理的 记录一下 以作参考 https://github.com/netpi/ueditor 1. 前端图片工具栏上传input file在这里 ...

  3. ThinkPHP3.1.3 整合 UEditor百度编辑器 图片上传

    第一步.前端模板实例化百度编辑器 <js file='__ROOT__/Data/UEditor/ueditor.config.js' /> <js file='__ROOT__/D ...

  4. 【插件】thinkphp5+百度编辑器自定义上传

    1 官方下载sdk 2 在引入编辑器页面.写入js // 百度编辑器 UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActi ...

  5. UEditor百度编辑器,工具栏上自定义添加一个普通按钮

    添加一个名叫“hougelou”的普通按钮在工具栏上: 第一步:找到ueditor.config.js文件中的toolbars数组,增加一个“hougelou”字符串,然后找到labelMap数组,对 ...

  6. yii2解决百度编辑器umeditor图片上传问题

    作者:白狼 出处:http://www.manks.top/article/yii2_umeditor_upload本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原 ...

  7. UEditor百度编辑器,工具栏自定义添加一个普通按钮

    根据网上前辈提供的,还真的不错,下面也整理一下 添加一个名叫“macros”的普通按钮在工具栏上: 第一步:找到ueditor.config.js文件中的toolbars数组,增加一个“macros” ...

  8. Ueditor百度编辑器插件的安装

    目录 插件下载地址: 1. 引入 2. 编辑器显示处 id="content" 3.底部 4.ueditor编辑器按钮配置方法 定制工具栏图标 修改配置项的方法: 插件下载地址: ...

  9. [UEditor]百度编辑器配置总结

    前端配置文件ueditor.config.js 前端有两个重要的配置属性: UEDITOR_HOME_URL: 配置百度编辑器的资源目录路径,你可以手动指定此路径,默认是有URL变量指定,而URL变量 ...

随机推荐

  1. centos 安装,配置memcached

    先查看是否已经安装了memcached输入memcached -h会输出memcached版本,或print phpinfo查看: memcached需要libevent支持,没有libevent,就 ...

  2. List容器

    List 容器 list是C++标准模版库(STL,Standard Template Library)中的部分内容.实际上,list容器就是一个双向链表,可以高效地进行插入删除元素. 使用list容 ...

  3. hdu 2019

    Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序.   Input 输入数据包含多 ...

  4. Kafka笔记--监控系统KafkaOffsetMonitor

    KafkaOffsetMonitor下载链接: http://download.csdn.net/detail/changong28/7930337github官方:https://github.co ...

  5. 通过select选项动态异步加载内容

    通过监听select的change事件来异步加载数据. 1:效果图: 选择Good: 选择 Bad: 2:index.html <!DOCTYPE html> <html lang= ...

  6. Bash 使用技巧大补贴

    https://linuxtoy.org/archives/the-best-tips-and-tricks-for-bash.html

  7. cf C. Find Maximum

    http://codeforces.com/contest/353/problem/C 先预处理前i个数的和,然后找到第一个出现的1,然后变成0后的和与目前的和比较,如果大就更新. #include ...

  8. Codeforces 4D Mysterious Present

    http://codeforces.com/contest/4/problem/D 题目大意: 给出n个信封,这n个信封有长和宽,给出卡片的尺寸,求取能够装入卡片的最长的序列,序列满足后一个的长和宽一 ...

  9. java常量设置的方式

    我们在写java程序的时候,常常有常量设置,如: public interface Const { //性别的常量 public interface Sex{ public final int 男=1 ...

  10. logstash 利用drop 丢弃过滤日志

    input { stdin { } } filter { grok { match => ["message","\s*%{TIMESTAMP_ISO8601}\s ...