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

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

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

<?php

    return array(

    //图片上传允许的存储目录
/*'imageSavePath' => array (
'upload1', 'upload2/'
)*/

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

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

找到:$info = $up->getFileInfo(); 在这后面加入下面代码:

$info["url"]=str_replace('../../','',$info["url"]); //将../../替换掉。

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

/**
* 按照日期自动创建存储文件夹
* @return string
*/
private function getFolder()
{
$pathStr = $this->config[ "savePath" ];
if ( strrchr( $pathStr , "/" ) != "/" ) {
$pathStr .= "/";
}
//$pathStr .= date( "Ymd" ); //将这行代码注释掉
if ( !file_exists( $pathStr ) ) {
if ( !mkdir( $pathStr , 0777 , true ) ) {
return false;
}
}
return $pathStr;
}

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

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

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

将fileNameFormat:"{time}{rand:6}"} 改成:fileNameFormat:"{filename}"}

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

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

 //,imagePath:URL + "php/"    //图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
//将上面的改成(这里是相对路径,可根据你自己需求修改):
,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. php 之 数据访问

    数据访问: 方式一:已过时,只做了解 1.造一个连接(建立通道) $db=mysql_connect("localhost","root","123& ...

  2. 现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求输出。 N<100

    #include <iostream> using namespace std; struct student {char num[100];  char name[100];  int ...

  3. Dede文章列表

    文章列表标签的使用: {dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheig ...

  4. Python基础第三天

    三元运算 三元运算又叫三目运算,是对简单的条件语句的缩写,例如if判断 # 标准if判断语法 if 1 == 1: name = "yes" else: name = " ...

  5. XCode中使用SVN 教程

    修改subversion.config方法: 可以直接在终端上输入:vi ~/.subversion/config来编辑. 也可以通过Finder搜索.subversion,点击下边的+号,进入高级搜 ...

  6. 如何用js检测手机是否安装某个app

    问题描述 如果本地安装了app那么直接打开,否则苹果要跳转到app-store,安卓则要跳到对应的市场 解决方案 一 //html代码中 的 a 标签,以微信为例,默认的是调用weixin schem ...

  7. Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)

    一.前言 目前正在准备从eclipse开发环境向AndroidStudio迁移,提前过去探探路,不出所料,原来gradle脚本果然报错,无法运行,想想索性把本地的gradle一起升级到最新版本,毕竟1 ...

  8. VMWare 虚拟机

    http://pan.baidu.com/share/link?shareid=5873&uk=941708466 VMWare是虚拟化解决方案厂商,旗下有多款虚拟机软件产品,其中最知名的要数 ...

  9. js面向对象的五种写法

    第一种: //第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = functio ...

  10. hdu 4983 Goffi and GCD(欧拉函数)

    Problem Description Goffi is doing his math homework and he finds an equality on his text book: gcd( ...