ueditor 百度编辑器 自定义图片上传路径和格式化上传文件名

今天项目中需要自定义图片上传的保存路径,并且不需要按照日期自动创建存储文件夹和文件名,我的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 百度编辑器 自定义图片上传路径和格式化上传文件名

你可能感兴趣的:(ueditor)